基於Linux搭建Apache網站服務配置詳解

Apache做爲一款開源軟件,是普遍應用的web應用之一,Apache有兩個主要版本1.X和2.X,通常咱們使用2.X版本,比起1.X版本它支持不少新的功能,下載Apache源碼包的地址爲:https://httpd.apache.org ,下載到源碼包後開始準備安裝:html

一、爲避免發生端口衝突,程序衝突等問題,若是有rpm方式安裝的httpd服務,建議將其卸載。
基於Linux搭建Apache網站服務配置詳解web

二、掛載系統鏡像,切換至系統盤中的Packages目錄,安裝相關依賴包(注意,最好一個一個的依次安裝,由於若是有些安裝包已經安裝了,一次安裝下面的安裝包的話,就會報錯)apache

[root@localhost Packages]# rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost Packages]# rpm -ivh apr-devel-1.4.8-3.el7_4.1.x86_64.rpm 
[root@localhost Packages]# rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh expat-devel-2.1.0-10.el7_3.x86_64.rpm 
[root@localhost Packages]# rpm -ivh libdb-devel-5.3.21-24.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh openldap-devel-2.4.44-13.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh pcre-8.32-17.el7.x86_64.rpm 
[root@localhost Packages]# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm

三、將httpd源碼包進行解包,並指定釋放目錄,而後切換到展開後的源碼目錄中:vim

[root@localhost media]# tar zxf httpd-2.4.25.tar.gz -C /usr/src
[root@localhost media]# cd /usr/src/httpd-2.4.25/

四、配置及編譯安裝:服務器

[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install

上面配置命令中,各個選項的含義以下:ide

--prefix:指定將httpd服務安裝到哪一個目錄下。工具

--enable-so:啓用動態加載模塊支持,讓httpd具有進一步擴展功能的能力。優化

--enable-rewrite:啓用網頁地址重寫功能,用於網站優化和目錄遷移維護。網站

--enable-charset-lite:啓用字符集支持,以便支持使用各類字符集編碼的網頁。ui

--enable-cgi:啓用CGI腳本程序支持,便於擴展網站的應用訪問能力。

若在上面配置、編譯、安裝過程當中報錯,排除命令錯誤的前提下,那麼通常是少了依賴包,檢查依賴包有沒有少裝吧!

六、安裝完成後,切換至安裝成功的目錄後,會看到如下幾個目錄:

[root@localhost httpd-2.4.25]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin    cgi-bin  error   icons    logs  manual
build  conf     htdocs  include  man   modules

各個主要子目錄的用途以下:

  • bin:存放httpd服務的各類執行程序文件。包括主程序httpd、服務控制工具apachectl等。
  • cgi-bin:存放各類CGI程序文件。
  • logs:存放httpd服務的日誌文件。
  • conf:存放httpd服務的各類配置文件,包括主配置文件httpd.conf、加強配置子目錄extra等。
  • htdocs:存放網頁文檔,包括默認首頁文件index.html等。
  • module:存放httpd服務的各類模塊文件。

七、優化執行路徑(根據實際狀況來定,能夠不進行優化):

經過源碼安裝的httpd服務屬於第三方服務,因此程序路徑並不在默認的搜索路徑中,若是如今要啓動Apache的話,須要執行命令:/usr/local/httpd/bin/apachectl start,也就是安裝完成後bin目錄下的程序控制文件的絕對路徑,加上須要進行的操做便可。

那麼,爲了使這個服務使用起來更加方便些,能夠進行執行路徑優化,過程以下:

爲相關程序添加符號連接:

[root@localhost httpd]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

這樣,再執行相關命令時,就不用輸入很長的路徑了,如若想要啓動服務,直接執行/usr/local/bin/apachectl start便可,但這樣依舊沒有控制系統服務那麼方便,那麼,還能夠繼續操做,添加httpd系統服務,有如下兩種方法:

方法1

複製apachectl文件到/etc/init.d/httpd,而後編輯該文件,:

[root@localhost httpd]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd]# vim /etc/init.d/httpd

按照下面進行修改,而後保存退出:

基於Linux搭建Apache網站服務配置詳解

添加系統服務:

[root@localhost httpd]# chkconfig --add httpd

至此,便可跟控制系統服務同樣,使用systemctl start/status/restart httpd來控制apache服務了。

還有一種方法能夠將它添加爲系統服務,不過還要編輯配置文件,比較麻煩,可能能夠對服務進一步的定義,我的以爲了解便可吧,沒有什麼特殊要求的話,採用上面的那種方法便可。

方法2:

創建httpd.service配置文件(注意配置文件的路徑,其中配置文件中寫入的apachectl路徑,需根據實際狀況來定)
基於Linux搭建Apache網站服務配置詳解

配置文件中的各配置項的做用以下所示:

基於Linux搭建Apache網站服務配置詳解

兩種方法各有各的好處,方法2能夠對服務進行詳細的控制定義,而且還可使用systemctl enable httpd.service 來設置httpd服務開機自動啓動,這是方法1沒法實現的。

當服務的控制進行優化後,便可對httpd服務進行基本配置:

一、編輯httpd服務的主配置文件httpd.conf
在末行模式下執行/ServerName,在附近添加一行內容:ServiceName www.aaa.com ,用於設置網站對應的域名。以下:

基於Linux搭建Apache網站服務配置詳解

進入末行模式查找ServerName

基於Linux搭建Apache網站服務配置詳解

修改httpd.conf文件的配置內容後,可使用命令apachectl -t或httpd -t對配置內容進行語法檢測,如若沒有錯誤,將會顯示以下:

基於Linux搭建Apache網站服務配置詳解

二、部署網頁文檔:

對於新編譯安裝的httpd服務,網站根目錄位於/usr/local/httpd/htdocs下,須要將web站點的網頁文檔複製或上傳到此目錄下。

三、查看web站點的訪問狀況

httpd服務器使用了兩種類型的日誌:訪問日誌和錯誤日誌。這兩種日誌的文件名分別爲acces_log和error_log,都在/usr/local/httpd/logs目錄下。可使用命令tail -f /usr/local/httpd/logs/access_log來動態查看網站訪問狀況。
基於Linux搭建Apache網站服務配置詳解

四、最爲主要的httpd.conf主配置文件
httpd.conf中的註釋行以「#」開頭,剩下的則是設置行。根據配置所做用的範圍不一樣,設置行又可分爲全局配置、區域配置。每條全局配置都是一項獨立的配置,不須要包含在其餘任務區域中,經常使用的一些全局配置項做用以下:
基於Linux搭建Apache網站服務配置詳解

除了全局配置項之外,httpd.conf文件中的大多數配置時包括在區域內的。區域配置使用一對組合標記,限定了配置項的做用範圍,以下:

基於Linux搭建Apache網站服務配置詳解

相關文章
相關標籤/搜索