localhost OS X Yosemite üzerinde çalışmıyor


11

Mac bilgisayarımın yerel apache sunucusunu çalıştırıyorum localhost'u ziyaret ettiğimde standart "Çalışıyor" sayfasını alıyorum."Çalışıyor" sayfası önbelleğe alındı ​​- aslında 127.0.0.1 ile aynı şekilde kırıldı. 127.0.0.1'i ziyaret ettiğimde krom bana veriyor Error code: ERR_CONNECTION_REFUSED. Ben de koştum telnet. Sonuç:

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

Ancak bunu scutilverir:

harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address

Neden işe yaramadığı hakkında bir fikrin var mı? Apache farklı bir bağlantı noktasında mı dinliyor? Varsa nasıl kontrol ederim? Host dosyama .deveklediğim bazı yerel sanal ana bilgisayarlar tarafından erişilebilir olması gereken bazı yerel vhost'larım var . Örneğin 127.0.0.1 home.dev, yukarıdaki hatayı da veriyorlar.

Düzenle

Görünüşe göre port 80'de hiçbir şey dinlemiyor. Çalıştığımda sudo lsof -iTCP:80 -sTCP:LISTENhiçbir çıkış almıyorum. Apache olsa çalışıyor gibi görünüyor - apachectlbirçok kez restart` çalıştırın .


web paylaşımınızın bu araçla çalışıp çalışmadığını kontrol edebilir misiniz; clickontyler.com/web-sharing
siniradam

Sizin localhostmükemmel iyi çalışıyor. Apache değil. Sorunuzu bu durumu temsil edecek şekilde güncelleyin ve Apache yapılandırmanızın ve günlük dosyalarının ilgili bitlerini eklemeyi unutmayın.
Daniel B

Benzer bir sorun yaşadım ve çözebildim: stackoverflow.com/questions/26454160/…
Xaver

Bunu Mavericks / Yosemite üzerinde yapmanın normal yolu, 80 numaralı bağlantı noktasından 8080 numaralı bağlantı noktasına ileri doğru bağlantı noktası sağlamaktır. Pfctl kullanarak bunu nasıl ayarlayacağınıza ilişkin bir örnek için gist.github.com/mindw0rk/dcc6c02a92b49bde0f13 adresini ziyaret edin. 8080'i dinleyin. 80 numaralı bağlantı noktasına bağlanabileceksiniz ve trafik apache'ye yönlendirilecektir. (geliştirici mağazamızda herkes bu kurulumu kullanır, nginx hariç)
bazzargh

Yanıtlar:


11

Bu komutla Apache yapılandırmanızı kontrol edin:

sudo apachectl -t

Bu, yapılandırma dosyalarını test eder ve bir hata olup olmadığını gösterir. Çalıştırılması sudo apachectl start, herhangi bir nedenle yapılandırma dosyası sözdizimi hatalarını günlüklere vermez.


Burada da aynı problem var. sudo apachectl -tdöner Syntax OK. Sonra ne?
Pmpr

2

Bu komut size Apache'nizin hangi bağlantı noktasında ve hangi IPv (4/6) adresinin dinlediğini söylemelidir:

sudo lsof -P -n -iTCP -sTCP:LISTEN | grep httpd

Dinleyen bir şey yoksa, bundan ne elde edersiniz?

sudo serveradmin status web
sudo serveradmin settings web
ps -acx | grep http

.

Son çare olarak:

sudo serveradmin stop web

Console.app uygulamasını açın ve bir yer işareti koyun

sudo serveradmin start web

Günlükleri kontrol edin


Apache'nin başlamasını engelleyen bir yapılandırma dosyası sorunu vardı! Önbelleğe alınmış sayfalar, yerel ana bilgisayar için çalıştığına inanmamı sağladı, ancak yerel IP adresim için değil.
harryg

Tamam cool, serveradmin httpd'yi tetikler ve genellikle başlangıç ​​günlükleri oluşturur, sorunu çözebildiniz mi? plz hata mesajı nedir (diğer üyeler için)?
Florian Bidabe

Evet çözüldü. Apache VirtualDocumentRoutevhosts yapılandırma dosyamda gördüğünde bir hatayı vurmak için bir apache vhosts modülünü uncomment unuttum .
harryg

2
hey harryg, eğer şansınız olursa durumu çözülecek şekilde güncelleyin.
Florian Bidabe

Apache'yi başlatırken bu sorunu ve sessiz başarısızlığı yaşadım. Yapılandırmadaki bir sözdizimi hatası nedeniyle günlüklerde hiçbir şey yok. Bu komut ortaya çıktı:sudo apachectl -t
Matt Gibson

0

Varsayılan bağlantı noktasının 8080 olduğuna inanıyorum, ancak Apache'nin dinlediği bağlantı noktaları için httpd.conf dosyasını kontrol edebilirsiniz.


8080 çalışmıyor ve yapılandırma dosyamda Dinle 80 var.
harryg

Apache'nin belki bir "ps aux" ile çalıştığını görebiliyor musunuz? Ayrıca, hata günlüğü bir şey gösteriyor mu? Varsayılan konum / var / log / apache2 / error_log olmalıdır

çıktı netstat -tulpn | grep :80nedir?
sardean
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.