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 10:11
下一篇 2015-06-29 13:37

相關推薦

  • yum 倉庫

    Yum 倉庫     yum源就是一個軟件集合地,你只需要搜索并安裝你想要的軟件,它會幫你解決大部分軟件的依賴問題。本地源比如說光盤里面一般會附帶一些軟件,這個時候就可以把光盤當成本地源來安裝軟件。網絡源比如說aliyun的鏡像網站,這就屬于網絡源,可以通過互聯網把軟件下載下來并安裝。   yum 倉庫 &n…

    2017-06-24
  • 設計模式 ( 十五 ) 中介者模式Mediator(對象行為型)

    1.概述 在面向對象的軟件設計與開發過程中,根據“單一職責原則”,我們應該盡量將對象細化,使其只負責或呈現單一的職責,即將行為分布到各個對象中。 對于一個模塊或者系統,可能由很多對象構成,而且這些對象之間可能存在相互的引用,在最壞的情況下,每一個對象都知道其他所有的對象,這無疑復雜化了對象之間的聯系。雖然將一個系統分割成許多對象通??梢栽鰪娍蓮陀眯裕菍ο蟆?/p>

    Linux干貨 2015-07-20
  • day6作業

    1、創建用戶gentoo,附加組為bin和root,默認shell為 /bin/csh,注釋信息為"Gentoo Distribution"     2、創建下面的用戶、組和組成員關系 名字為admins 的組 用戶natasha,使用admins …

    系統運維 2016-08-08
  • 初識mysql:基本原理和使用

    一、 數據庫的出現      1. 數據庫是什么: 數據庫簡單來說,就是存儲數據的地方(廢話),對于用戶認證這個過程來說,當用戶登錄服務器時, 系統需要把用戶的輸入的用戶認證信息和存儲的用戶認證信息進行比對,這一過程就需要事先把所有用戶的信息存儲在一個數據庫中,然后逐條進行比對。早起最傳統的數據庫當然就是文本…

    Linux干貨 2015-06-04
  • N25-第二周作業

    ①Linux文件管理命令常用方法 Linux常見文件類型 -:files,常規文件 d: directory,目錄文件 b: block device,塊設備文件 c:character device,字符設備文件 l:symbolic link,符號鏈接文件 p: pipe,命名管道 s: socket,套接字文件 命令管理工具指南:cp、rm、mv 1.…

    Linux干貨 2016-12-13
  • 分區塊基本知識點及側重點 — 上

        我們需要熟練了解磁盤分區原理。元數據及塊設備對應inode是最重要也是最基本的原理。后面分區很多地方都和inode有關系。    一個磁盤片有63扇區,1024存儲位,256個磁頭,每個扇區只有前512字節是有效存儲單元。所以后面磁盤清零都是跟512這個數字有關。    數據分數據區和元數據…

    Linux干貨 2016-08-24
欧美性久久久久