【故障分析】apache啟動(dòng)失敗

2021-03-18    分類: 網(wǎng)站建設(shè)

【故障分析】apache啟動(dòng)失敗
客戶的一臺(tái)web服務(wù)器,是基于Apache+JK+Tomcat構(gòu)建的一個(gè)電商平臺(tái),在機(jī)器更換硬件重新啟動(dòng)后,客戶反映apache啟動(dòng)失敗,但是tomcat可以啟動(dòng),啟動(dòng)Apache的錯(cuò)誤信息如下。
【故障分析】apache啟動(dòng)失敗
于是又檢查了操作用戶和Apache監(jiān)聽(tīng)的端口,如下圖。
【故障分析】apache啟動(dòng)失敗
從輸出可知,Apache的啟動(dòng)用戶是www,監(jiān)聽(tīng)端口為80,接著查看到/usr/local/apache2/目錄所有文件和目錄的權(quán)限都是www,看來(lái)不是讀寫(xiě)權(quán)限的問(wèn)題,于是繼續(xù)排查,這里更換了Apache的監(jiān)聽(tīng)端口,將其改為8000,看是否能啟動(dòng)成功,如下圖。
【故障分析】apache啟動(dòng)失敗
雖然這次啟動(dòng)沒(méi)報(bào)錯(cuò),但是根據(jù)httpd進(jìn)程的狀態(tài)來(lái)看,啟動(dòng)應(yīng)該還有問(wèn)題,于是查看Apache啟動(dòng)日志,如下圖。
【故障分析】apache啟動(dòng)失敗
從日志輸出看,果然存在問(wèn)題,通過(guò)存在問(wèn)題,通過(guò)日志基本判斷是Apache的pid文件無(wú)權(quán)限導(dǎo)致的。接著檢查httpd.pid文件的選項(xiàng),操作如下:
[root@cloud1 logs]# ll/usr/local/apache2/logs/httpd.pid
-rw-r--r-- 1 root www 6 Sep 16 17:33
/usr/local/apache2/logs/httpd.pid
從輸出可知,httpd.pid權(quán)限的屬主為root,將其修改為www用戶,操作如下:
[root@cloud1 logs]# chown www/usr/local/apache2/logs/httpd.pid
然后,重慶Apache2,如下圖。
【故障分析】apache啟動(dòng)失敗
可以看到,這次Apahce啟動(dòng)成功了,看來(lái)Apache配置并無(wú)問(wèn)題,通過(guò)8000端口可以啟動(dòng),而通過(guò)80端口則無(wú)法啟動(dòng),這是什么問(wèn)題呢?
1、解決思路
既然這個(gè)案例是與端口相關(guān)的,那么久需要了解下Linux系統(tǒng)中的端口,在Linux系統(tǒng)下可用的端口范圍是1-65535,端口可分為三類,分別是公認(rèn)端口、注冊(cè)端口和動(dòng)態(tài)端口。
用戶www無(wú)法啟動(dòng)Apache的80端口,是因?yàn)?0端口屬于公認(rèn)端口,普通公認(rèn)端口,普通用戶無(wú)權(quán)綁定,而8000端口屬于注冊(cè)端口,普通用戶可以自由使用,這是此案例要查找的原因。
2、解決問(wèn)題
如何使用Apache的80端口呢,這里提供兩種方法,分別是:
1)將Apache以root用戶啟動(dòng)即可,這是最簡(jiǎn)單的方法。
2)修改Apache目錄下httpd文件的SUID屬性。
種方法實(shí)現(xiàn)簡(jiǎn)單,但是有安全問(wèn)題,如果黑客入侵了80端口,那么他也擁有了root權(quán)限,因此,不推薦使用種方法,因?yàn)楸WC程序的安全才是根本。這里簡(jiǎn)單介紹下第二種方法的實(shí)現(xiàn)過(guò)程。首先通過(guò)root用戶進(jìn)行如下授權(quán),如下圖。
【故障分析】apache啟動(dòng)失敗
然后再www用戶下再次啟動(dòng)Apache,可以看到這次啟動(dòng)正常了,如下圖。
【故障分析】apache啟動(dòng)失敗
從這個(gè)輸出可以看出,其實(shí)Apache還是在root用戶下啟動(dòng)的,上面的修改只不過(guò)是保證普通用戶可以正常啟動(dòng)Apache而已,另外,啟動(dòng)的httpd進(jìn)程對(duì)應(yīng)的用戶除了root,還有www用戶,這其實(shí)是一種父進(jìn)程和子進(jìn)程的關(guān)系,父進(jìn)程由root用戶啟動(dòng)后,會(huì)派生出多個(gè)子進(jìn)程,而這些子進(jìn)程的啟動(dòng)用戶是可定義的,可以在配置文件httpd.conf的如下選項(xiàng)中修改:
User www
Group www
至此,這個(gè)案例被完整剖析!

本文標(biāo)題:【故障分析】apache啟動(dòng)失敗
新聞來(lái)源:http://www.muchs.cn/news34/105384.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、用戶體驗(yàn)域名注冊(cè)微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)