提示:之前的文章中我們說到過,在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