服務器維護CentOS6上編譯安裝httpd2.4 詳解
2020-06-07 13:38 作者:admin 瀏覽量:
如何做好
服務器維護?北京艾銻無限科技與你談談IT人員必須知道的
服務器維護信息
服務器維護小知識httpd 與 apr
服務器維護小知識APR(Apache portable Run-time libraries,Apache可移植運行庫) 主要為上層的應用程序提供一個可以跨越多操作系統平臺使用的底層支持接口庫。在早期的Apache版本中,應用程序本身必須能夠處理各種具體操作系統平臺的細節,并針對不同的平臺調用不同的處理函數。
隨著Apache的進一步開發,Apache組織決定將這些通用的函數獨立出來并發展成為一個新的項目。這樣,APR的開發就從Apache中獨立出來,Apache僅僅是使用 APR而已。目前APR主要還是由Apache使用,由于APR的較好的移植性,因此一些需要進行移植的C程序也開始使用APR,開源項目比如用于服務器壓力測試的Flood loader tester,該項目不僅僅適用于Apache,詳情可查看這個連接 http://httpd.apache.org/test/flood。
服務器維護小知識如果對APR起到了什么作用還是不清楚的話,可以根據上面的圖來理解。其實APR就是解決了應用與系統調用之間的銜接問題,避免了Linux 開發一套應用程序,windows 開發一套程序。現在,有APR,并開放了統一的接口,只要應用滿足這個接口標準就可以了,至于如何去進行系統調用,則是由APR來實現。
根據我們上面的示意圖,我們看出,httpd 2.2 的運行,是運行在 apr 1.3.9 的基礎之上的。而 httd 2.4 則是運行在 apr 1.4+ 之上的。而
CentOS 6 默認的版本是 apr-1.3.9,apr-util-1.3.9,所以我們在使用yum 安裝httpd的時候,一般都是httpd 2.2 的版本。 但是,如果因為實際生產,我們需要在CentOS 6 平臺上安裝httpd 2.4版本的話,應該如何做呢?其實也很簡單,我們將apr 也重新編譯安裝一下,就可以解決這個問題。
服務器維護小知識下載解壓
首先使用rpm -qi httpd 查看一下我們的系統中是否已經安裝了httpd應用程序,以及apr相關程序,如果已經安裝過的話,最好將其刪除掉。
到Apache 官方網站上下載最新版的httpd 2.4 程序,以及apr 和apr-util 最新版源碼包 。 將源碼包進行解壓。
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ls
apr-1.6.2 apr-1.6.2.tar.gz apr-util-1.6.0 apr-util-1.6.0.tar.gz httpd-2.4.27 httpd-2.4.27.tar.bz2
服務器維護小知識安裝開發包組和相關依賴包
在開始編譯安裝之前,需要先安裝相關的開發包組以及其他的一些依賴包,這些包有下面的這些。
# 安裝開發包組
[root@localhost src]# yum groupinstall "Development tools"
# 安裝相應的devel包
[root@localhost src]# yum install openssl-devel pcre-devel expat-devel
當然,如果一開始不知道缺少哪些包的話,可以先進行編譯安裝,然后根據錯誤提示再將缺少的包安裝上,這樣也是可以的。
服務器維護小知識編譯apr 以及apr-util
因為httpd 是依賴與apr的,所以應該先編譯apr 以及apr-util,然后再安裝 httpd。
我們的源碼文件存放的路徑是/usr/local/src,我們編譯安裝的路徑是 /app/apr,/app/apr-util,/app/httpd24.
# 編譯 apr
[root@localhost apr-1.6.2]# ./configure --prefix=/app/apr
# 安裝 apr
[root@localhost apr-1.6.2]# make -j 2 && make install
# 編譯apr-util
[root@localhost apr-util-1.6.0]# ./configure --prefix=/app/apr-util --with-apr=/app/apr/
#安裝apr-util
[root@localhost apr-util-1.6.0]# make -j 2 && make install
服務器維護小知識創建apache 默認賬號
首先給httpd 創建默認的系統用戶。
# /app/website 表示網站的默認路徑 ,如果不指定的話,默認是/var/www/html
# 采用yum安裝的方式,指定的路徑就是默認路徑
[root@localhost ~]# useradd -r -d /app/website -s /sbin/nologin apache
服務器維護小知識編譯安裝 httpd
編譯安裝httpd ,可以自己指定需要開啟的功能列表,然后指定程序安裝的路徑,我們這里指定的安裝路徑還是 /app/httpd24
# --prefix 指定程序需要安裝的路徑
# --enable 指定啟用的模塊
# --with-apr 指定apr的路徑
# --with-apr-util 指定apr-util 的路徑
[root@localhost httpd-2.4.27]# ./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/app/apr/ --with-apr-util=/app/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
# 安裝 httpd
[root@localhost httpd-2.4.27]# make -j 2 && make install
服務器維護小知識編輯 /app/httpd24/conf/httpd.conf 修改默認用戶,以及主頁目錄
對httpd的配置文件進行修改,根據我們自己創建的用戶,以及自己指定的網站目錄,對配置文件進行相應的修改。
服務器維護小知識將應用程序添加到環境變量中
# 添加環境變量
[root@localhost httpd-2.4.27]# echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/http24.sh
#使環境變量生效
[root@localhost httpd-2.4.27]# . /etc/profile.d/http24.sh
服務器維護小知識編寫服務的啟用腳本
CentOS 6 中,服務器的啟動腳本存放于/etc/init.d/httpd。當然我們自己編寫服務的啟動腳本有些困難,我們可以參考以前安裝過的服務腳本略加修改。
將這個文件/etc/init.d/httpd 改名為/etc/init.d/httpd24,然后修改如下內容
服務器維護小知識將服務添加到開機啟動,并開啟服務
# 將服務添加到服務列表
[root@localhost init.d]# chkconfig --add httpd24
# 將服務設置為開機啟動
[root@localhost init.d]# chkconfig httpd24 on
# 啟動服務
[root@localhost init.d]# service httpd24 start
在啟動服務的過程中有可能會提示以下錯誤 ,這是提示沒有創建網站的根目錄。所以我們去創建一下。
[root@localhost init.d]# service httpd24 start
Starting httpd: AH00526: Syntax error on line 225 of /app/httpd24/conf/httpd.conf:
DocumentRoot '/app/website' is not a directory, or is not readable
[FAILED]
服務器維護小知識創建網站主頁,并進行測試
# 創建網站的根目錄
[root@localhost init.d]# mkdir /app/website
# 建立網站主頁,用于測試路徑
[root@localhost init.d]# echo /app/website/index.html > /app/website/index.html
經過上述步驟,基本上就能夠在CentOS 6 上成功的安裝和運行HTTP 2.4了
IT運維 我們選擇
北京艾銻無限
以上文章由北京艾銻無限科技發展有限公司整理