Centos 6.8源碼安裝apache服務

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

1、 安裝編譯環境

2、 卸載原有apache

3、 下載解壓源碼包

4、 安裝apache

5、 測試apache

6、 查看apache安裝生成的目錄

7、 查看apache的配置文件

8、 apache加入系統服務

一、安裝編譯環境

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

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.解壓,依次進入相應目錄進行編譯安裝

編譯安裝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:若在編譯過程中出錯,可執行make clean重新進行./configure

二、卸載原有Apache

在源碼安裝apache之前,我們要先卸載系統中,已經通過rpm包安裝的apache(否則可能引起端口沖突)。如下:

rpm -qa |grep httpd

rpm -e --nodeps $(rpm -qa |grep httpd)

三、下載解壓源碼包

建議去apache官網下載,本實驗以httpd-2.4.25.tar.gz為例

#tar -zxf httpd-2.4.25.tar.gz

四、安裝apache

安裝apache,我們首先要編譯,然后進行安裝.

./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的安裝路徑,默認安裝路徑為/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等內容,提供客戶端瀏覽器緩存的設置。這個是apache調優的一個重要選項之一。

--with-mpm=worker選擇apache mpm的模式為worker模式。為worker模式原理是更多的使用線程來處理請求,所以可以處理更多的并發請求。另外還有prefork等模式,具體區別參見下面。如果不指定此參數,默認的模式是prefork進程模式。這個是apache調優的一個重要選項之一。

--enable-deflate提供對內容的壓縮傳輸編碼支持,一般是html、js、css等內容的站點。使用此參數會打打提高傳輸速度,提升訪問者訪問的體驗。在生產環境中,這是apache調優的一個重要選項之一。

prefork, worker, event 三種模式的區別:

1. prefork 中沒有線程的概念,是多進程模型,一個進程處理一個連接;穩定;響應快。其缺點是在連接數比較大時就非常消耗內存。

2. worker 是多進程多線程模型,一個進程有多個線程,每個線程處理一個連接。與prefork相比,worker模式更節省系統的內存資源。不過,需要注意worker模式下的Apache與php等程序模塊的兼容性。

3. event 是worker模式的變種,它把服務進程從連接中分離出來,在開啟KeepAlive的場合下相對worker模式能夠承受更高的并發負載。event模式不能很好的支持https的訪問(HTTP認證相關的問題)。

下面進行安裝

$ make

$ make install

$ /usr/local/apache2/bin/apachectl start

#netstat -tln用此命令查看端口使用情況,若有80端口說明安裝成功。

五、測試apache

wget http://127.0.0.1


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

六、查看apache安裝生成的目錄

apache正常啟動后,我們來查看apache安裝生成的目錄。如下:


bin主要存放程序命令目錄,。

conf主要存放apache配置文件。

htdocs主要存放站點目錄。

logs主要存放默認日志文件。

modules主要存放apache的運行模塊。例如php、memcache編譯后的模塊存放在這里。

七、查看apache的配置文件

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


查看httpd.conf配置內容,如下:

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


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站點目錄,路徑結尾不要添加斜線。

ServerAdmin you@example.com表示系統管理員的郵箱,此項為非重要選項。當網站出現問題時,面面會顯示此頁面地址。

DirectoryIndex index.php index.html配置默認的apache首頁。如果虛擬主機未配置,默認應用這里的配置。

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

LogLevel warn錯誤日志級別。

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"配置cgi別名。

八、apache加入系統服務

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

echo "/usr/local/apache2/bin/apachectl start">>/etc/rc.local

關于更多的apache加入系統服務的知識,請參閱www.jb51.net/article/59474.htm

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容