Apache作為一款開源軟件,是廣泛應(yīng)用的web應(yīng)用之一,Apache有兩個主要版本1.X和2.X,一般我們使用2.X版本,比起1.X版本它支持很多新的功能,下載Apache源碼包的地址為:https://httpd.apache.org ,下載到源碼包后開始準(zhǔn)備安裝:
1、為避免發(fā)生端口沖突,程序沖突等問題,如果有rpm方式安裝的httpd服務(wù),建議將其卸載。
2、掛載系統(tǒng)鏡像,切換至系統(tǒng)盤中的Packages目錄,安裝相關(guān)依賴包(注意,最好一個一個的依次安裝,因為如果有些安裝包已經(jīng)安裝了,一次安裝下面的安裝包的話,就會報錯)
3、將httpd源碼包進行解包,并指定釋放目錄,然后切換到展開后的源碼目錄中:
4、配置:
上面配置命令中,各個選項的含義如下:
–prefix:指定將httpd服務(wù)安裝到哪個目錄下。
–enable-so:啟用動態(tài)加載模塊支持,讓httpd具備進一步擴展功能的能力。
–enable-rewrite:啟用網(wǎng)頁地址重寫功能,用于網(wǎng)站優(yōu)化和目錄遷移維護。
–enable-charset-lite:啟用字符集支持,以便支持使用各種字符集編碼的網(wǎng)頁。
–enable-cgi:啟用CGI腳本程序支持,便于擴展網(wǎng)站的應(yīng)用訪問能力。
5、執(zhí)行make && make install命令進行編譯安裝:
若在上面配置、編譯、安裝過程中報錯,排除命令錯誤的前提下,那么一般是少了依賴包,檢查依賴包有沒有少裝吧!
6、安裝完成后,切換至安裝成功的目錄后,會看到以下幾個目錄:
各個主要子目錄的用途如下:
- bin:存放httpd服務(wù)的各種執(zhí)行程序文件。包括主程序httpd、服務(wù)控制工具apachectl等。
- cgi-bin:存放各種CGI程序文件。
- logs:存放httpd服務(wù)的日志文件。
- conf:存放httpd服務(wù)的各種配置文件,包括主配置文件httpd.conf、增強配置子目錄extra等。
- htdocs:存放網(wǎng)頁文檔,包括默認(rèn)首頁文件index.html等。
- module:存放httpd服務(wù)的各種模塊文件。
7、優(yōu)化執(zhí)行路徑(根據(jù)實際情況來定,可以不進行優(yōu)化):
通過源碼安裝的httpd服務(wù)屬于第三方服務(wù),所以程序路徑并不在默認(rèn)的搜索路徑中,如果現(xiàn)在要啟動Apache的話,需要執(zhí)行命令:/usr/local/httpd/bin/apachectl start,也就是安裝完成后bin目錄下的程序控制文件的絕對路徑,加上需要進行的操作即可。
那么,為了使這個服務(wù)使用起來更加方便些,可以進行執(zhí)行路徑優(yōu)化,過程如下:
為相關(guān)程序添加符號鏈接:
這樣,再執(zhí)行相關(guān)命令時,就不用輸入很長的路徑了,如若想要啟動服務(wù),直接執(zhí)行/usr/local/bin/apachectl start即可,但這樣依舊沒有控制系統(tǒng)服務(wù)那么方便,那么,還可以繼續(xù)操作,添加httpd系統(tǒng)服務(wù),有以下兩種方法:
方法1
復(fù)制apachectl文件到/etc/init.d/httpd,然后編輯該文件,:
按照下面進行修改,然后保存退出:
添加系統(tǒng)服務(wù):
至此,即可跟控制系統(tǒng)服務(wù)一樣,使用systemctl start/status/restart httpd來控制apache服務(wù)了。
還有一種方法可以將它添加為系統(tǒng)服務(wù),不過還要編輯配置文件,比較麻煩,可能可以對服務(wù)進一步的定義,個人覺得了解即可吧,沒有什么特殊要求的話,采用上面的那種方法即可。
方法2:
建立httpd.service配置文件(注意配置文件的路徑,其中配置文件中寫入的apachectl路徑,需根據(jù)實際情況來定)
配置文件中的各配置項的作用如下所示:
兩種方法各有各的好處,方法2可以對服務(wù)進行詳細(xì)的控制定義,并且還可以使用systemctl enable httpd.service
來設(shè)置httpd服務(wù)開機自動啟動,這是方法1無法實現(xiàn)的。
當(dāng)服務(wù)的控制進行優(yōu)化后,即可對httpd服務(wù)進行基本配置:
1、編輯httpd服務(wù)的主配置文件httpd.conf
在末行模式下執(zhí)行/ServerName,在附近添加一行內(nèi)容:ServiceName www.aaa.com ,用于設(shè)置網(wǎng)站對應(yīng)的域名。如下:
進入末行模式查找ServerName:
修改httpd.conf文件的配置內(nèi)容后,可以使用命令apachectl -t或httpd -t對配置內(nèi)容進行語法檢測,如若沒有錯誤,將會顯示如下:
2、部署網(wǎng)頁文檔:
對于新編譯安裝的httpd服務(wù),網(wǎng)站根目錄位于/usr/local/httpd/htdocs
下,需要將web站點的網(wǎng)頁文檔復(fù)制或上傳到此目錄下。
3、查看web站點的訪問情況
httpd服務(wù)器使用了兩種類型的日志:訪問日志和錯誤日志。這兩種日志的文件名分別為acces_log和error_log,都在/usr/local/httpd/logs目錄下??梢允褂妹?strong>tail -f /usr/local/httpd/logs/access_log來動態(tài)查看網(wǎng)站訪問情況。
4、最為主要的httpd.conf主配置文件
httpd.conf中的注釋行以“#”開頭,剩下的則是設(shè)置行。根據(jù)配置所作用的范圍不同,設(shè)置行又可分為全局配置、區(qū)域配置。每條全局配置都是一項獨立的配置,不需要包含在其他任務(wù)區(qū)域中,常用的一些全局配置項作用如下:
除了全局配置項以外,httpd.conf文件中的大多數(shù)配置時包括在區(qū)域內(nèi)的。區(qū)域配置使用一對組合標(biāo)記,限定了配置項的作用范圍,如下:
如何在Ubuntu 18.04上安裝和配置Apache 2 Web服務(wù)器 http://www.sfodin.cn/Linux/2018-11/155507.htm