CentOS6.6上編譯安裝httpd2.4

簡介
    現在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
環境
    實驗拓撲圖
1.png      

    所需安裝包
        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)測試成功

3.png2.png

 

總結
    因為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

(0)
princeparprincepar
上一篇 2015-06-26
下一篇 2015-06-29

相關推薦

  • MySQL優化大全

     1. 優化SQL   1)通過show status了解各種sql的執行頻率         show status like 'Com_%'        了解 Com_select,Com_in…

    Linux干貨 2015-04-13
  • ?HA專題: Corosync+Pacemaker+drbd實現MySQL高可用

    HA專題: Corosync+Pacemaker+drbd實現MySQL高可用 前言 實驗拓撲 實驗環境 實驗步驟 安裝前準備工作 配置DRBD 配置MySQL 配置Corosync+Pacemaker 測試 我遇到的問題 總結 前言 上篇文章我們介紹了drbd的相關原理、編譯安裝、簡單的實現. drbd雖然可以保證數據的可靠性但是我們上次的實現還…

    Linux干貨 2016-04-13
  • RAID各級別特性介紹

        RAID全稱為獨立磁盤冗余陣列(Redundant Array of Independent Disks):基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、 容量巨大的硬盤。     RAID通常被用在服務器電腦上,使用完全相…

    Linux干貨 2016-06-22
  • 2.Linux文件管理類命令

    Linux文件管理類命令 cp命令:copy 源文件;目標文件; 單源復制:cp [OPTION]… [-T] SOURCE DEST 多源復制:cp [OPTION]… SOURCE… DIRECTORY | cp [OPTION]… -t DIRECTORY SOURCE… 單源復制:cp [OPTION]… [-T]&…

    Linux干貨 2017-07-09
  • Linux基礎知識

    命令的語法通用格式: # COMMAND OPTIONS ARGUMENTS COMMAND:  發起一命令:請求內核將某個二進制程序運行為一個進程; 程序 –> 進程 靜態 –> 動態(有生命周期) 命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件; 多數系統程序文件都存放在:/bin,…

    Linux干貨 2016-10-29
  • 編譯安裝httpd

    編譯安裝httpd   1 去官網下載源碼包                                      為避免非法軟件,一定要去官網下載http…

    2017-04-24
欧美性久久久久