天天看點

源碼安裝apache

最近要開始學習nagios監控方面的知識了,但是nagios與apache結合的比較緊密,是以本篇文章就先把apache的源碼安裝學習下。

我們現在分以下步驟進行安裝apache:

1、 安裝編譯環境

2、 解除安裝原有apache

3、 下載下傳解壓源碼包

4、 安裝apache

5、 測試apache

6、 檢視apache安裝生成的目錄

7、 檢視apache的配置檔案

8、 apache加入系統服務

<b>一、安裝編譯環境</b>

在安裝apache之前,我們需要安裝編譯apache時所需要的相關軟體包,如下:

yum -y install gcc gcc++ zlib zlib-devel

源碼安裝apache

<b>二、解除安裝原有apache</b>

在源碼安裝apache之前,我們要先解除安裝系統中,已經通過rpm包安裝的apache。如下:

rpm -qa |grep httpd

rpm -e –nodeps httpd-2.2.15-29.el6.centos.x86_64

rpm -e –nodeps httpd-tools-2.2.15-29.el6.centos.x86_64

源碼安裝apache

<b>三、下載下傳解壓源碼包</b>

下載下傳apache的源碼包,我們本次實驗以apache的2.2.27版本為例。apache的源碼包建議直接去apache官網下載下傳,如下:

源碼安裝apache
源碼安裝apache
源碼安裝apache

使用如下指令,下載下傳apache源碼包:

源碼安裝apache

解壓下載下傳的源碼包,因為下載下傳的是tar.gz的源碼包,是以我們有兩種解壓方法。

方法一、利用gunzip進行解壓,如下:

gunzip -c httpd-2.2.27.tar.gz&gt;httpd-2.2.27.tar

-c參數可以不删除源檔案

tar -xf httpd-2.2.27.tar

源碼安裝apache

方法二、直接使用tar解壓,如下:

tar -zxf httpd-2.2.27.tar.gz

或者tar -xf httpd-2.2.27.tar.gz

源碼安裝apache

<b>四、安裝apache</b>

安裝apache,我們首先要編譯,然後進行安裝。

我們可以通過configure指令檢視編譯時的相關幫助,如下:

./configure –help

源碼安裝apache

具體編譯如下:

./configure –prefix=/usr/local/apache2 –enable-rewrite –enable-so –enable-headers –enable-expires –with-mpm=worker –enable-modules=most –enable-deflate

–prefix=/usr/local/apache2表示指定apache的安裝路徑,預設安裝路徑為/usr/local/apache2

–enable-rewrite提供url規則的重寫更嫩那個,即根據已知的url位址,轉換為其它想要的url位址

–enable-so激活apache服務的dso(dynamic shared objects動态共享目标),即在以後可以以dso的方式編譯安裝共享子產品,這個子產品本身不能以dso方式編譯。

–enable-headers提供允許對http請求頭的控制。

–enable-expires激活荀彧通過配置檔案控制http的“expires:”和“cache-control:”頭内容,即對網站圖檔、js、css等内容,提供用戶端浏覽器緩存的設定。<b>這個是apache調優的一個重要選項之一。</b>

–with-mpm=worker選擇apache mpm的模式為worker模式。為worker模式原理是更多的使用線程來處理請求,是以可以處理更多的并發請求。而系統 資源的開銷小玉基于程序的mpm prefork。如果不指定此參數,預設的模式是prefork程序模式。<b>這個是apache調優的一個重要選項之一。</b>

–enable-deflate提供對内容的壓縮傳輸編碼支援,一般是html、js、css等内容的站點。使用此參數會打打提高傳輸速度,提升通路者通路的體驗。<b>在生産環境中,這是apache調優的一個重要選項之一。</b>

源碼安裝apache

make

源碼安裝apache

make install

源碼安裝apache

安裝完畢apache,檢視安裝後的目錄,如下:

tree -l 1 /usr/local/apache2/

源碼安裝apache

<b>五、測試apache</b>

将apache的啟動腳本複制到/etc/rc.d/init.d這個目錄下,如下:

cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

源碼安裝apache

其實apache的啟動是調用/usr/local/apache2/bin/httpd這個指令,檢視該腳本的内容,如下:

cat /etc/init.d/httpd|grep -v ^#|grep -v ^$

源碼安裝apache

啟動apache,如下:

/etc/init.d/httpd start

netstat -lntp|grep 80

lsof -i :80

源碼安裝apache

也可以使用/usr/local/apache2/bin/httpd進行啟動。如下:

/usr/local/apache2/bin/httpd –k start

源碼安裝apache

apache啟動完畢後,我們來檢視下,可以使用如下指令:

源碼安裝apache

通過上圖,我們可以很明顯的看到apache已經正常啟動。

<b>六、檢視apache安裝生成的目錄</b>

apache正常啟動後,我們來檢視apache安裝生成的目錄。如下:

源碼安裝apache

bin主要存放程式指令目錄,。

conf主要存放apache配置檔案。

htdocs主要存放站點目錄。

logs主要存放預設日志檔案。

modules主要存放apache的運作子產品。例如php、memcache編譯後的子產品存放在這裡。

<b>七、檢視apache的配置檔案</b>

apache的配置檔案httpd.conf存放在conf 目錄下,如下:

源碼安裝apache

檢視httpd.conf配置内容,如下:

egrep -v ‘^[ ]*#|^$’ /usr/local/apache2/conf/httpd.conf | nl

源碼安裝apache

serverroot "/usr/local/apache2"表示apache根目錄,該目錄應隻有root使用者具有通路,一般不需要修改。

listen 80表示apache監聽端口,預設為80。如果同時監控81端口,可以加一行:listen 81。

addtype application/x-httpd-php .php loadmodule php5_module modules/libphp5.so用于apache與php進行內建時使用。

user daemon group daemon表示apache運作時的使用者及組,預設為daemon,建議修改,如apache。

documentroot "/usr/local/apache2/htdocs"表示apache預設的web站點目錄,<b>路徑結尾不要添加斜線</b>。

serveradmin [email protected]表示系統管理者的郵箱,此項為非重要選項。當網站出現問題時,面面會顯示此頁面位址。

directoryindex index.php index.html配置預設的apache首頁。如果虛拟主機未配置,預設應用這裡的配置。

errorlog "logs/error_log"錯誤日志路徑。

loglevel warn錯誤日志級别。

scriptalias /cgi-bin/ "/usr/local/apache2/cgi-bin/"配置cgi别名。

<b>八、apache加入系統服務</b>

為了讓apache開機啟動,我們可以把apachectl啟動腳本加入rc.local檔案中,如下:

echo "/usr/local/apache2/bin/apachectl start"&gt;&gt;/etc/rc.local

cat /etc/rc.local

源碼安裝apache

我們也可以通過把apache加入系統服務,來啟動apache。把apache添加為系統服務有兩種方法,第一種是通過chkconfig進行添加,第二種是直接添加系統的各個啟動級别。

我們先來介紹第一種方法,修改啟動httpd腳本加入如下兩行指令,如下:

#chkconfig: 2345 70 60

#description: apache

說明:

chkconfig: 2345 70 60中的2345是指腳本的運作級别,即在2345這4種模式下都可以運作,234都是文本界面,5是圖形界面x。

70是指腳本将來的啟動順序号,如果别的程式的啟動順序号比70小(比如44、45),則腳本需要等這些程式都啟動以後才啟動。60是指系統關閉時,腳本的停止順序号。

description: apache關于腳本的簡短描述。

源碼安裝apache

使用chkconfig進行添加,如下:

chkconfig –add httpd

chkconfig |grep httpd

源碼安裝apache

<b>chkconfig –add httpd</b><b>指令的作用是把/etc/init.d/httpd加入到/etc/rc.d/rc0.d到/etc/rc.d/rc6.d目錄下。如下:</b>

<b>find /etc -name *httpd</b>

源碼安裝apache

開啟apache開機啟動,使用如下指令:

chkconfig httpd on

源碼安裝apache

經過以上操作apache就可以開機啟動。

上一篇: Magento 覆寫
下一篇: mimeTypes.php