HTTP 之 編譯安裝HTTPD2.4

1 概述

目前CENTOS7默認安裝是HTTPD2.4,但是CENTOS6上默認是安裝HTTPD2.2部蛇,CENTOS6如果要安裝HTTPD2.4摊唇,需要通過編譯安裝實現(xiàn),一般情況下涯鲁,centOS7默認是安裝httpd2.4,除非要自己編譯特殊的模塊巷查,否則建議見用yum進行安裝httpd2.4的服務(wù)包就可以。

編譯安裝HTTPD2.4需要涉及APR,本文將介紹一下APR基本概念抹腿,同時介紹兩種在centos6上編譯HTTPD2.4方法岛请,以及在centos7上編譯安裝HTTPD2.4

2? APR概念

apache的項目,apache支持跨平臺警绩,但是window和linux的系統(tǒng)調(diào)用機制不一樣

APR就會去處理不同系統(tǒng)間的問題崇败,應(yīng)用開發(fā)人員面對的是APR的接口,而不是操作系統(tǒng)接口開發(fā)

APR針對的是apache的項目軟件

.APR(Apache portable Run-time

libraries肩祥,Apache可移植運行庫)主要為上層的應(yīng)用程序提供一個可以跨越多操作系統(tǒng)平臺使用的底層支持接口庫后室。在早期的Apache版本中,應(yīng)用程序本身必須能夠處理各種具體操作系統(tǒng)平臺的細節(jié)混狠,并針

對不同的平臺調(diào)用不同的處理函數(shù)

.隨著Apache的進一步開發(fā)岸霹,Apache組織決定將這些通用的函數(shù)獨立出來并發(fā)展成為一個新的項目。這樣将饺,APR的開發(fā)就從Apache中獨立出來贡避,Apache僅僅是使用APR而已。目前APR主要還是由Apache使用予弧,由于APR的較好的移植性刮吧,因此一些需要進行移植的C程序也開始使用APR,開源項目比如用于服務(wù)器壓力測試的Flood loader tester掖蛤,該項目不僅僅適用于Apache皇筛,http://httpd.apache.org/test/flood

3 centos6上編譯HTTPD2.4

方法一

環(huán)境:centos6.9 apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz? ?httpd-2.4.27.tar.bz2

apr的版本需要是1.4以上

#1 安裝包組

yum -y groupinstall "Development tools"

yum -y install openssl-devel pcre-devel expat-devel

#2 創(chuàng)建賬號

mkdir? /app/website

useradd -r -d? /app/website -s /sbin/nologin apache

#3 解壓安裝包

tar xvf apr-1.6.2.tar.gz -C /usr/local

tar xvf? apr-util-1.6.0.tar.gz? ?-C /usr/local

tar xvf? httpd-2.4.27.tar.bz2? ?-C /usr/local

#4 編譯apr

cd /usr/local/apr-1.6.2

./configure --prefix=/usr/local/apr

make & make install

#5 編譯apr-util

cd /usr/local/apr-util-1.6.2

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make & make install

#6 編譯httpd24

cd /usr/local/httpd-2.4.27

./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

make & make install

#7 修改配置文件

vim? /app/httpd24/conf/httpd.conf

user apache

group apache

Documentroot /app/website

<directory /app/website>

#8 將編譯的httpd24執(zhí)行文件路徑導(dǎo)入PATH變量

vim /etc/profile.d/httpd24.sh

PATH=/app/httpd24/bin:$PATH

#保存后執(zhí)行

. /etc/profile.d/httpd24.sh

#9 拷貝其他機器的httpd腳本進行相關(guān)修改

scp 172.18.50.61:/etc/init.d/httpd /etc/init.d/httpd24

vim /etc/init.d/httpd24

apachectl=/app/httpd24/bin/apachectl

httpd=${HTTPD-/app/httpd24/bin/httpd}

pidfile=${PIDFILE-/app/httpd24/logs/httpd24.pid}

lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

#保存后,執(zhí)行如下的語句

chkconfig --add httpd24

chkconfig httpd24 on

service httpd24 start

#這樣就可以用service 來查看啟動服務(wù)坠七,7上啟動腳本是二進制水醋,不能通過用戶自己編寫shell服務(wù)啟動腳本實現(xiàn),

#這個是6和7的區(qū)別彪置,因為在7上執(zhí)行service httpd restart的時候拄踪,會被重定向另一個語句,

#?Redirecting to /bin/systemctl restart? httpd.service而執(zhí)行chkconfig httpd on 拳魁,

#?會被重定向另一個語句執(zhí)行惶桐,Note: Forwarding request to 'systemctl enable httpd.service'。

#?并不是通過httpd的啟動腳本執(zhí)行的。所以在7上如果要開機啟動姚糊,編譯安裝的話贿衍,

#?就要在/etc/rc.d/rc.local里寫入 /app/httpd24/bin/apachectl? start

#這個語句,實現(xiàn)開機啟動救恨。同時編譯安裝的http24,在7上由于沒有httpd這個腳本贸辈,

#所以必須通過apachectl來控制httpd24這個服務(wù)。

#10 創(chuàng)建主站點文件

mkdir /app/website

echo "I am sunny in cent65E under /app/website" > /app/website/index.html

#11 測試

#啟動服務(wù)

service httpd24 restart

#或者

apachectl start

#在瀏覽器輸入該http鏈接肠槽,如 http://172.18.50.65/

方法2

不用獨立編譯apr 和apr-util擎淤,將這個包放到/usr/local/httpd-2.4.27/srclib路徑下,并將服務(wù)包目錄改名為apr 和apr-util秸仙,編譯時關(guān)鍵參數(shù)是--with-included-apr嘴拢,進行統(tǒng)一編譯

即方法一中的4,5,6三步合成如下這個操作,其他步驟不變

cp -r /usr/local/apr-1.6.2 /usr/local/httpd-2.4.27/srclib/apr

cp -r /usr/local/apr-util-1.6.0 /usr/local/httpd-2.4.27/srclib/apr-util

cd? /usr/local/httpd-2.4.27/srclib/apr

./configure --prefix=/app/httpd24? --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

4 centos7源碼編譯httpd2.4

如果centOS7上的apr和apr-util已經(jīng)是1.4版本以上寂纪,就不要在編譯apr和apr-util了席吴,如果機器上沒有apr和apr-util或者版本較低,參照centOS6的方法編譯安裝apr和apr-util

#1 安裝編譯包組

yum groupinstall "development tools"

yum -y install apr-devel apr-util-devel openssl-devel pcre-devel

#2 創(chuàng)建賬號

mkdir? /app/website

useradd -r -d? /app/website -s /sbin/nologin apache

#3 解壓安裝包

tar xvf apr-1.6.2.tar.gz -C /usr/local

tar xvf? apr-util-1.6.0.tar.gz? ?-C /usr/local

tar xvf? httpd-2.4.27.tar.bz2? ?-C /usr/local

#4? 編譯安裝

cd? /usr/local/src/httpd-2.4.27/

./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre? --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

make? && make install

#5 修改配置文件

vim /app/httpd24/conf/httpd.conf

User apache

Group apache

#6 將編譯的httpd24執(zhí)行文件路徑導(dǎo)入PATH變量

vim /etc/profile.d/httpd24.sh

PATH=/app/httpd24/bin:$PATH

#保存后執(zhí)行? ". /etc/profile.d/httpd24.sh"

#7 vim /etc/rc.d/rc.local

/app/httpd24/bin/apachectl start

chmod +x? ?/etc/rc.d/rc.local

#注意捞蛋,這里和centos6不一樣抢腐,不能自己創(chuàng)建httpd文件,所以襟交,只能通過apachectl這個工具來控制httpd

#8 測試

#啟動服務(wù)

apachectl -k start

#這里和centOS6語法不同,需要加選項-k

#在瀏覽器輸入該http鏈接伤靠,如 http://172.18.50.65/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捣域,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子宴合,更是在濱河造成了極大的恐慌焕梅,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卦洽,死亡現(xiàn)場離奇詭異贞言,居然都是意外死亡,警方通過查閱死者的電腦和手機阀蒂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門该窗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚤霞,你說我怎么就攤上這事酗失。” “怎么了昧绣?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵规肴,是天一觀的道長。 經(jīng)常有香客問我,道長拖刃,這世上最難降的妖魔是什么删壮? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮兑牡,結(jié)果婚禮上央碟,老公的妹妹穿的比我還像新娘。我一直安慰自己发绢,他們只是感情好硬耍,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著边酒,像睡著了一般经柴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上墩朦,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天坯认,我揣著相機與錄音,去河邊找鬼氓涣。 笑死牛哺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的劳吠。 我是一名探鬼主播引润,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼痒玩!你這毒婦竟也來了淳附?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤蠢古,失蹤者是張志新(化名)和其女友劉穎奴曙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體草讶,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡洽糟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了堕战。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坤溃。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嘱丢,靈堂內(nèi)的尸體忽然破棺而出浇雹,到底是詐尸還是另有隱情,我是刑警寧澤屿讽,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布昭灵,位于F島的核電站吠裆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏烂完。R本人自食惡果不足惜试疙,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抠蚣。 院中可真熱鬧祝旷,春花似錦、人聲如沸嘶窄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柄冲。三九已至吻谋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間现横,已是汗流浹背漓拾。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留戒祠,地道東北人骇两。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像姜盈,于是被迫代替她去往敵國和親低千。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容