Saya menjalankan server apache lokal Mac saya dan ketika saya mengunjungi localhost saya mendapatkan halaman standar "Ini Bekerja".Halaman "Berhasil" di-cache - sebenarnya rusak sama dengan 127.0.0.1. Ketika saya mengunjungi 127.0.0.1 namun chrome memberi saya Error code: ERR_CONNECTION_REFUSED
. Jadi saya berlari telnet
. Hasil:
harryg$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
Tetapi scutil
berikan ini:
harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address
Adakah yang tahu mengapa itu tidak berhasil? Apakah apache mendengarkan pada port yang berbeda? Jika demikian, bagaimana saya memeriksa? Saya memiliki beberapa vhost lokal yang harus dapat diakses oleh beberapa .dev
host virtual lokal yang telah saya tambahkan ke file host saya. Misalnya 127.0.0.1 home.dev
tetapi mereka juga memberikan kesalahan di atas.
Edit
Sepertinya tidak ada yang mendengarkan pada port 80. Ketika saya menjalankan sudo lsof -iTCP:80 -sTCP:LISTEN
saya tidak mendapatkan output. Apache tampaknya berjalan meskipun - saya telah menjalankan apachectl
restart` berkali-kali.
localhost
bekerja dengan sangat baik. Apache tidak. Perbarui pertanyaan Anda untuk mewakili fakta ini dan jangan lupa untuk memasukkan bit relevan dari konfigurasi Apache Anda dan file log-nya.Jawaban:
Periksa konfigurasi Apache Anda dengan perintah ini:
Ini menguji file konfigurasi dan memberi tahu Anda jika ada kesalahan. Menjalankan
sudo apachectl start
tidak menghasilkan kesalahan sintaks file konfigurasi ke log untuk beberapa alasan.sumber
sudo apachectl -t
kembaliSyntax OK
. Lalu bagaimana?Perintah ini harus memberi tahu Anda apa di port mana dan alamat IPv (4/6) mana yang didengarkan Apache Anda:
Jika tidak ada yang mendengarkan, apa yang Anda dapatkan dari ini?
.
Akhirnya resor:
Buka Console.app dan letakkan bookmark
Periksa log
sumber
VirtualDocumentRoute
di file konfigurasi vhosts saya.sudo apachectl -t
Saya percaya port default adalah 8080, tetapi Anda dapat memeriksa file httpd.conf untuk port yang didengarkan Apache.
sumber
netstat -tulpn | grep :80
?