我們現(xiàn)在分以下步驟進(jìn)行安裝apache:
1往弓、 安裝編譯環(huán)境
2、 卸載原有apache
3页衙、 下載解壓源碼包
4摊滔、 安裝apache
5、 測(cè)試apache
6店乐、 查看apache安裝生成的目錄
7艰躺、 查看apache的配置文件
8、 apache加入系統(tǒng)服務(wù)
一眨八、安裝編譯環(huán)境
在安裝apache之前腺兴,我們需要安裝編譯apache時(shí)所需要的相關(guān)軟件包,如下:
apr廉侧、apr-util页响、pcre、gcc-c++段誊、libtool
1.下載所需要的包
wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
wget?http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz
wget?http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
2.解壓闰蚕,依次進(jìn)入相應(yīng)目錄進(jìn)行編譯安裝
編譯安裝apr:
./configure --prefix=/usr/local/apr
make && make install
編譯安裝apr-util:
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
編譯安裝pcre:
./configure --prefix=/usr/local/pcre
make && make install
安裝gcc-c++庫:
yum -y install gcc-c++
安裝libtool庫:
yum -y install libtool
ps:若在編譯過程中出錯(cuò),可執(zhí)行make clean重新進(jìn)行./configure
二连舍、卸載原有Apache
在源碼安裝apache之前没陡,我們要先卸載系統(tǒng)中,已經(jīng)通過rpm包安裝的apache(否則可能引起端口沖突)烟瞧。如下:
rpm -qa |grep httpd
rpm -e --nodeps $(rpm -qa |grep httpd)
三诗鸭、下載解壓源碼包
建議去apache官網(wǎng)下載,本實(shí)驗(yàn)以httpd-2.4.25.tar.gz為例
#tar -zxf httpd-2.4.25.tar.gz
四参滴、安裝apache
安裝apache强岸,我們首先要編譯,然后進(jìn)行安裝.
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
--prefix=/usr/local/apache2表示指定apache的安裝路徑砾赔,默認(rèn)安裝路徑為/usr/local/apache2
--enable-rewrite提供URL規(guī)則的重寫更嫩那個(gè)蝌箍,即根據(jù)已知的URL地址,轉(zhuǎn)換為其它想要的URL地址
--enable-so激活apache服務(wù)的DSO(Dynamic Shared Objects動(dòng)態(tài)共享目標(biāo))暴心,即在以后可以以DSO的方式編譯安裝共享模塊妓盲,這個(gè)模塊本身不能以DSO方式編譯。
--enable-headers提供允許對(duì)HTTP請(qǐng)求頭的控制专普。
--enable-expires激活荀彧通過配置文件控制HTTP的“Expires:”和“Cache-Control:”頭內(nèi)容悯衬,即對(duì)網(wǎng)站圖片、js檀夹、css等內(nèi)容筋粗,提供客戶端瀏覽器緩存的設(shè)置策橘。這個(gè)是apache調(diào)優(yōu)的一個(gè)重要選項(xiàng)之一。
--with-mpm=worker選擇apache mpm的模式為worker模式娜亿。為worker模式原理是更多的使用線程來處理請(qǐng)求丽已,所以可以處理更多的并發(fā)請(qǐng)求。另外還有prefork等模式买决,具體區(qū)別參見下面沛婴。如果不指定此參數(shù),默認(rèn)的模式是prefork進(jìn)程模式督赤。這個(gè)是apache調(diào)優(yōu)的一個(gè)重要選項(xiàng)之一嘁灯。
--enable-deflate提供對(duì)內(nèi)容的壓縮傳輸編碼支持,一般是html躲舌、js旁仿、css等內(nèi)容的站點(diǎn)。使用此參數(shù)會(huì)打打提高傳輸速度孽糖,提升訪問者訪問的體驗(yàn)。在生產(chǎn)環(huán)境中毅贮,這是apache調(diào)優(yōu)的一個(gè)重要選項(xiàng)之一办悟。
prefork, worker, event 三種模式的區(qū)別:
1. prefork 中沒有線程的概念,是多進(jìn)程模型滩褥,一個(gè)進(jìn)程處理一個(gè)連接病蛉;穩(wěn)定;響應(yīng)快瑰煎。其缺點(diǎn)是在連接數(shù)比較大時(shí)就非常消耗內(nèi)存铺然。
2. worker 是多進(jìn)程多線程模型,一個(gè)進(jìn)程有多個(gè)線程酒甸,每個(gè)線程處理一個(gè)連接魄健。與prefork相比,worker模式更節(jié)省系統(tǒng)的內(nèi)存資源插勤。不過沽瘦,需要注意worker模式下的Apache與php等程序模塊的兼容性。
3. event 是worker模式的變種农尖,它把服務(wù)進(jìn)程從連接中分離出來,在開啟KeepAlive的場(chǎng)合下相對(duì)worker模式能夠承受更高的并發(fā)負(fù)載析恋。event模式不能很好的支持https的訪問(HTTP認(rèn)證相關(guān)的問題)。
下面進(jìn)行安裝
$ make
$ make install
$ /usr/local/apache2/bin/apachectl start
#netstat -tln用此命令查看端口使用情況盛卡,若有80端口說明安裝成功助隧。
五、測(cè)試apache
wget http://127.0.0.1
通過上圖滑沧,我們可以很明顯的看到apache已經(jīng)正常啟動(dòng)并村。
六巍实、查看apache安裝生成的目錄
apache正常啟動(dòng)后,我們來查看apache安裝生成的目錄橘霎。如下:
bin主要存放程序命令目錄蔫浆,。
conf主要存放apache配置文件姐叁。
htdocs主要存放站點(diǎn)目錄瓦盛。
logs主要存放默認(rèn)日志文件。
modules主要存放apache的運(yùn)行模塊外潜。例如php原环、memcache編譯后的模塊存放在這里。
七处窥、查看apache的配置文件
apache的配置文件httpd.conf存放在conf 目錄下嘱吗,如下:
查看httpd.conf配置內(nèi)容,如下:
egrep -v '^[ ]*#|^$' /usr/local/apache2/conf/httpd.conf | nl
ServerRoot "/usr/local/apache2"表示apache根目錄滔驾,該目錄應(yīng)只有root用戶具有訪問谒麦,一般不需要修改。
Listen 80表示apache監(jiān)聽端口哆致,默認(rèn)為80绕德。如果同時(shí)監(jiān)控81端口,可以加一行:Listen 81摊阀。
AddType application/x-httpd-php .php LoadModule php5_module modules/libphp5.so用于apache與php進(jìn)行集成時(shí)使用耻蛇。
User daemon Group daemon表示apache運(yùn)行時(shí)的用戶及組,默認(rèn)為daemon,建議修改胞此,如apache臣咖。
DocumentRoot "/usr/local/apache2/htdocs"表示apache默認(rèn)的web站點(diǎn)目錄,路徑結(jié)尾不要添加斜線漱牵。
ServerAdmin you@example.com表示系統(tǒng)管理員的郵箱夺蛇,此項(xiàng)為非重要選項(xiàng)。當(dāng)網(wǎng)站出現(xiàn)問題時(shí)布疙,面面會(huì)顯示此頁面地址蚊惯。
DirectoryIndex index.php index.html配置默認(rèn)的apache首頁。如果虛擬主機(jī)未配置灵临,默認(rèn)應(yīng)用這里的配置截型。
ErrorLog "logs/error_log"錯(cuò)誤日志路徑。
LogLevel warn錯(cuò)誤日志級(jí)別儒溉。
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"配置cgi別名宦焦。
八、apache加入系統(tǒng)服務(wù)
為了讓apache開機(jī)啟動(dòng),我們可以把a(bǔ)pachectl啟動(dòng)腳本加入rc.local文件中波闹,如下:
echo "/usr/local/apache2/bin/apachectl start">>/etc/rc.local
關(guān)于更多的apache加入系統(tǒng)服務(wù)的知識(shí)酝豪,請(qǐng)參閱www.jb51.net/article/59474.htm