簡介
現在apache軟件基金會正在維護的httpd項目有三個版本,分別為Version 2.4,Version 2.2與Version 2.0。
三個版本的區別暫不一一介紹,有興趣的可以去httpd.apache.org了解,下面著重介紹httpd 2.4版本。
新特性
現在在CentOS7上默認支持的httpd版本已經為2.4,但是CentOS6上默認的為2.2版本
httpd 2.4新特性:
1) 支持httpd運行時裝在MPM
2) 正式支持event mpm
3) 支持異步讀寫
4) 支持不同模塊及目錄分別使用不同的日志級別
5) 增強版的表達式分析器
6) keepalive支持毫秒級的timeout
7) 基于域名的虛擬主機不再需要NameVirtualHost指令
8) 支持用戶使用自定義變量
9) 新增一些模塊,例mod_proxy_fcgi,mode_ratelimit,mod_request,mod_remoteip等
10) 基于ip的訪問控制改為require,而不在支持order,allow,deny
環境
實驗拓撲圖
所需安裝包
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.gz
httpd-2.4.12.tar.bz2
安裝配置過程
(1)查看主機名
[root@parparxy ~]# hostname parparxy.com
(2)下載相關軟件包
wget http://apache.dataguru.cn//apr/apr-1.5.2.tar.bz2 wget http://apache.dataguru.cn//apr/apr-util-1.5.4.tar.gz wget http://apache.fayea.com//httpd/httpd-2.4.12.tar.bz2 # httpd 2.4所依賴的apr與apr-util需1.4以上版本,而CentOS 6.6自帶的版本較低,需單獨安裝 [root@parparxy tmp]# rpm -qa | grep apr apr-util-1.3.9-3.el6_0.1.x86_64 apr-1.3.9-5.el6_2.x86_64
(3)安裝apr
[root@parparxy tmp]# tar xf apr-1.5.2.tar.bz2 [root@parparxy tmp]# cd apr-1.5.2 [root@parparxy apr-1.5.2]# ./configure --prefix=/usr/local/apr [root@parparxy apr-1.5.2]# make && make install
(4)安裝apr-util
[root@parparxy tmp]# tar xf apr-util-1.5.4.tar.gz [root@parparxy tmp]# cd apr-util-1.5.4 [root@parparxy apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [root@parparxy apr-util-1.5.4]# make && make install
(5)編譯安裝httpd 2.4
[root@parparxy tmp]# tar xf httpd-2.4.12.tar.bz2 [root@parparxy tmp]# cd httpd-2.4.12 [root@parparxy httpd-2.4.12]# ./configure --prefix=/usr/local/apache \ > --sysconfdir=/etc/httpd \ # 指定配置文件路徑 > --enable-so \ # 支持動態加載DSO模塊 > --enable-ssl \ # 開啟SSL功能,支持https > --enable-cgi \ # 啟用與外部應用程序的cgi接口功能 > --enable-rewrite \ # 支持url重寫 > --with-zlib \ # 支持web頁面壓縮傳送 > --with-pcre \ # 增強型的正則表達式分析工具,nginx等程序依賴,依賴于pcre-devel開發包 > --with-apr=/usr/local/apr \ # 指定高版本apr程序路徑,不指定則會自動指定系統默認版本 > --with-apr-util=/usr/local/apr-util \ # 指定apr-util路徑 > --enable-mpms-shared=all \ # 支持動態裝卸載所有mpm > --with-mpm=event \ # mpm默認使用event > --enable-modules=all # all為安裝所有模塊,most為安裝常用模塊(安裝不代表啟用) [root@parparxy httpd-2.4.12]# make && make install
(6)配置httpd 2.4(基于域名的虛擬主機)
[root@parparxy ~]# vim /etc/httpd/httpd.conf # DocumentRoot "/usr/local/apache/htdocs" # 注釋掉DocumentRoot關閉主服務配置段 Include /etc/httpd/extra/httpd-vhosts.conf # 啟用虛擬主機功能
(7)配置虛擬主機配置文件
[root@parparxy ~]# vim /etc/httpd/extra/httpd-vhosts.conf <VirtualHost 192.168.100.11:80> ServerAdmin webadmin@parparxy.com DocumentRoot "/usr/local/apache/htdocs/test1/" ServerName test1.parparxy.com ErrorLog "logs/test1-error_log" CustomLog "logs/test1-access_log" common </VirtualHost> <VirtualHost 192.168.100.11:80> ServerAdmin webadmin@parparxy.com DocumentRoot "/usr/local/apache/htdocs/test2/" ServerName test2.parparxy.com ErrorLog "logs/test2-error_log" CustomLog "logs/test2-access_log" common </VirtualHost>
(8)生成測試網頁
[root@parparxy ~]# cd /usr/local/apache/htdocs/ [root@parparxy htdocs]# mkdir test1 && echo "<h1> test1 </h1>" > test1/index.html [root@parparxy htdocs]# mkdir test2 && echo "<h1> test2 </h1>" > test2/index.html
(9)測試腳本文件語法是否正確
[root@parparxy ~]# ln -sv /usr/local/apache/bin/httpd /usr/bin/ `/usr/bin/httpd' -> `/usr/local/apache/bin/httpd' [root@parparxy ~]# httpd -t Syntax OK
(10)啟動httpd
[root@parparxy ~]# /usr/local/apache/bin/apachectl start [root@parparxy ~]# ss -anpt | grep httpd LISTEN 0 128 :::80 :::* users:(("httpd",20052,4),("httpd",20053,4),("httpd",20054,4),("httpd",20055,4))
(11)測試成功
總結
因為httpd 2.4在CentOS 6.6上所依賴的軟件包的版本較低,所以需要重新安裝較高版本。如果在CentOS 7上安裝,其軟件包版本較高,無需升級安裝包,直接安裝httpd 2.4即可使用。
從以上配置過程可以發現,httpd 2.4與httpd 2.2的配置過程還是有一定區別的,其內部特性變化較大,本文沒有一一列出,如大家感興趣可以登錄apache官網自行查看,文檔地址為:http://httpd.apache.org/docs/2.4/
原創文章,作者:princepar,如若轉載,請注明出處:http://www.www58058.com/5703