[英]Apache Configuration, Cannot Connect to Localhost
我在Apache 2.4.18(在OS X El Capitan 10.11.6上)遇到問題,我無法查明原因是什么。 我花了4天的時間來解決這個問題(包括在此處搜索),但我只是想問問。
我在這里經驗很少。 在上周末遵循了一些指南之后,我嘗試設置系統,以便在學習HTML / Javascript / PHP時開發一個站點。 按照一些指南,我安裝了dnsmasq並嘗試配置httpd.conf和httpd-vhosts.conf。 最初,本地主機將我定向到“ It Works”頁面,我的虛擬主機home.dev和sites.dev也是如此。 無論我做什么,我都無法獲得任何* .dev站點來定向到我的virtualdocumentroot中的實際index.html文件。
我試過了
home.dev
添加到/etc/hosts
httpd.conf
DocumentRoot更改為虛擬主機文件中使用的根 httpd-vhosts.conf
配置。 apachectl configtest
語法可以 現在問題變得更糟了。 在使用配置文件嘗試解決此問題時,我已經壞了一些東西,我也不知道該怎么辦。 意外覆蓋了Originals文件夾中的httpd.conf
文件。 嘗試使用我發現搜索默認值的httpd.conf
文件不起作用。 在這一點上,我很高興再次看到“它起作用” ...
sudo netstat -an | grep ':80'
sudo netstat -an | grep ':80'
返回任何內容,因此,據我所知,即使httpd.conf
有一個顯式語句listen 80
,apache也不監聽80。 apachectl configtest
語法仍然可以 sudo apachectl restart
似乎開始 不知道我是否應該在此處發布.conf,有什么建議嗎?
謝謝!
更新8/20:
仍然沒有找到解決方案,但是感覺我正在進步:
ping localhost
成功(來自127.0.0.1的64個字節) curl -v http://localhost/
在所有嘗試中均返回“拒絕連接”(:: 1,fe80 :: 1、127.0.0.1等)。 某個地方,似乎apache正在運行(對嗎?),我只是不知道在哪里或如何弄清楚。
sudo lsof -i -P | grep -i "listen"
sudo lsof -i -P | grep -i "listen"
不返回任何監聽*:80的內容。 也看不到聽起來像apache的任何進程(僅啟動,dnsmasq,mysqld,kdc和Skype)。
我的主機文件設置如下:
127.0.0.1本地主機
255.255.255.255廣播主機
:: 1本地主機
fe80 :: 1%lo0本地主機
httpd.conf(以前聽80,此更改未解決任何問題)
Listen 0.0.0.0:80
自從兩天前我從httpd.conf中意外刪除ServerName以來,錯誤日志中沒有錯誤(添加回去):)
我可以輸入netstat / lsof命令並找出正在監聽的端口apache嗎? 也許這會讓我朝正確的方向開始。
更新:
對於遇到此問題的其他任何人,希望我可以節省您嘗試解決此問題的時間。
檢查控制台以找到httpd的“ ReportCrashes”(即使sudo apachectl start
似乎可以正常工作,並且再次運行該命令時,我會收到service already loaded
消息。)搜索碎屑時,我遇到了https://discussions.apple.com / thread / 6602475?tstart = 0 。
聽起來很簡單,注釋掉httpd.conf中的load PHP模塊LoadModule php5_module libexec/apache2/libphp5.so
修復了所有問題。 我現在可以訪問localhost。 在我為自己進行更改而造成的混亂中,我假設它位於.conf文件中,但是沒有原始內容可恢復或查看該問題。 明顯的建議-在更改.conf文件之前進行備份。
現在,當然,我不能使用PHP,因此,如果有人在那里有任何提示,那將很棒。 Libphp5.so存在於/ libexec / apache2中,但我還在/ usr / local / php5 /中發現了Libphp7.so(版本問題?)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.