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