提示:之前的文章中我們說到過,在Linux系統中,服務的安裝方式有兩種,一種是通過RPM包方式進行安裝,一種是通過源碼包方式進行安裝。這篇文章就說一說通過源碼包的方式,來安裝服務和卸載服務。
1、源碼包安裝服務的注意事項
(1)安裝服務選擇哪種軟件包?(建議)
- 如果軟件包是給大量客戶提供訪問,建議使用源碼包安裝,如LAMP環境搭建,因為源碼包效率更高。
- 如果軟件包是給Linux底層使用,或只給少量客戶訪問,建議使用RPM包安裝,因為RPM包簡單。
如果不考慮軟件效率,用哪種方式都可以。
(2)源碼包是從哪里來的?
- RPM包是光盤中直接包含的,所以不需要用戶單獨下載。
- 而源碼包是通過官方網站下載的,如果需要使用,是需要單獨下載的。
(3)是否可以在系統中即安裝RPM包的Apache,又安裝源碼包的Apache?
答案是可以,因為兩種安裝方法安裝的Apache,安裝位置是不一樣的。
例如:
提示:上圖文件的位置一定要記下來,有好處。
說明:
service
命令能啟動RPM包安裝方式安裝的軟件,是因為service
命令會搜索/etc/rc.d/init.d/
目錄下啟動命令。- 我可以把源碼包安裝后啟動文件
/usr/1ocal/apache2/bin/apachectl
,拷貝到/etc/rc.d/init.d/
目錄下,service
命令就可以用了。- 但是,不推薦上面這種做法。因為軟件的安裝位置不同,是區分RPM安裝還是源碼包安裝最好的方式。
(Red Hat 6
是這樣,Red Hat 7
中有所改變。)
(4)生產服務器上,是否會同時安裝兩種Apache?
當然不會,因為系統中只有一個80端口,所以你只能啟動一個Apache,裝多個只能浪費資源。我們建議安裝源碼包的Apache。
服務是可以修改端口號的:
- 如果服務是給大量客戶端訪問的,不建議更換端口,因為用戶就找不到了。
- 如果服務是給內部人員使用,建議改換端口,因為更加安全。
2、源碼包安裝服務的過程
我們來解釋一下源碼包安裝的具體步驟。
步驟1:下載軟件包。
httpd-2.2.9.tar.gz
步驟2:解壓縮源碼包。
[root@localhost ~]# tar -zxvf httpd-2.2.9.tar.gz
步驟3:進入源碼包的解壓目錄。
如下圖所示:
步驟4:./configure
編譯前准備
這一步主要有三個作用:
- 在安裝之前需要檢測系統環境是否符合安裝要求。
- 定義需要的功能選項。
./configure
支持的功能選項較多,可以執行./configure --help
命令查詢其支持的功能。
一般都會通過./configure --prefix=安裝路徑
來指定安裝路徑。 - 把系統環境的檢測結果和定義好的功能選項寫入
Makefile
文件,后續的編譯和安裝需要依賴這個文件的內容。
需要注意的是,configure
不是系統命令,而是源碼包軟件自帶的一個腳本程序,所以必須采用
./configure
方式執行(./
代表在當前目錄下)。
步驟5:make編譯
make
命令會調用gcc
編譯器,並讀取Makefile
文件中的信息進行系統軟件編譯。- 編譯的目的就是把源碼程序轉變為能被Linux識別的可執行文件,這些可執行文件保存在當前目錄下。
- 編譯過程較為耗時,需要有足夠的耐心。
步驟6:make clean:清空編譯內容(非必需步驟)。
如果在./configure
或make
編譯中報錯,那么我們在重新執行命令前一定要記得執行make clean
命令,它會清空Makefile
文件或編譯產生的.o
頭文件。
注意:源碼包報錯
- 安裝過程必須停止。
- 在最后幾行是否出現
no
,warning
,error
關鍵字,有則說明出現錯誤。
步驟7:make install:編譯安裝
這才是真正的安裝過程,一般會寫清楚程序的安裝位置。如果忘記指定安裝目錄,則可以把這個命令的執行過程保存下來,以備將來刪除使用。
注意:只有這步執行了,如果指定了安裝的文件夾,才開始創建。這個時候如果安裝報錯,除了需要執行上邊的
make clean
命令,還需要手動的把安裝目錄給刪除掉,才是徹底清空,然后才能重新安裝軟件。
提示:絕大多數的源碼包安裝步驟都是和上邊一樣的,有不一樣的單獨記一下即可,或者安裝的時候查看一下文檔也行。
總結:源碼包安裝出現錯誤很難解決。所以自己使用服務的時候,能用RPM包安裝的盡量用RPM包安裝。
3、源碼包安裝服務的刪除
源碼包沒有刪除命令,如果需要刪除,直接刪除安裝目錄即可。
4、源碼包安裝服務的啟動
在軟件的解壓縮目錄下就有軟件的安裝說明,位置如下:
文件內容如下:
說明:
$ ./configure --prefix=PREFIX
: 編譯准備$ make
: 編譯$ make install
: 安裝$ PREFIX/bin/apachectl start
: 啟動,是在安裝目錄下(PREFIX)的bin/apachectl start
5、源碼包安裝服務的關閉
命令為:軟件安裝目錄/bin/apachectl stop