免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

【故障分析】apache啟動失敗

2021-03-18    分類: 網站建設

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

本文標題:【故障分析】apache啟動失敗
標題路徑:http://m.newbst.com/news/105384.html

成都網站建設公司_創新互聯,為您提供用戶體驗搜索引擎優化Google網站排名小程序開發移動網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名