MacOSX apache 無法訪問伺服器
參考網上解決方案:
問題描述:由於刪除了/private/var/log下面的日誌,,導致重啟電腦後apache無法正常工作。
後果:重啟電腦後apache正常執行,訪問localhost或127.0.0.1無法找到伺服器。
探索:問題出現後,由於$ sudo apachectl start不會報任何錯,但是訪問localhost或127.0.0.1始終失敗。
可能情況1: 沒有監聽80埠
排除可能1:監聽了80埠的。
可能情況2:hosts檔案配置有問題
排除可能2:localhost以前就沒問題,而且沒改過,排除。
懷疑點:80埠被佔用
排除懷疑點:終端執行$ sudo lsof -i TCP:80 -s TCP:LISTEN,沒有發現其他程式佔用,排除這個疑點。
終端$ sudo /usr/sbin/httpd -k start 問題出現了:No such file or directory: httpd: could not open error log file /private/var/log/apache2/error_log.
想起來刪除了log下的所有日誌檔案,最後建立資料夾apache2,就ok了。
解決方法是:在log目錄下,新建一個名為apache2的資料夾(終端$ sudo mkdir /private/var/log/apache2),然後重啟apache(終端$ sudo apachectl restart),會自動在apache2裡面重新生成apache需要的日誌,便可正常訪問和使用apache服務了。
=====================可愛的分割線==========================
2016/3/3補充:
最近對https做了一件事,就是生成pem檔案用於抓包解碼,不久後apache就不能訪問了,查了好多資料都無法解決,也不知是不是這個原因導致的,不過想想動相關這一塊的也就這件事了,後來查看了一下日誌:
/private/var/log/apache2/error_log
發現有很多 AH00016: Configuration Failed 的錯誤
通過
apachectl configtest
提示
Syntax OK
最後在httpd-vhost.conf中把HTTPS的站點配置去掉。
OK!