OS X Yosemiteでローカルホストが機能しない


11

MacのローカルApacheサーバーを実行しています localhostにアクセスすると、標準の「It Works」ページが表示されます。「動作する」ページはキャッシュされました-実際には127.0.0.1と同じように壊れています。しかし、127.0.0.1にアクセスすると、chromeが表示されますError code: ERR_CONNECTION_REFUSED。だから私はtelnet。結果:

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

しかしscutil、これを与えます:

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

なぜ機能しないのか考えていますか?Apacheはいくつかの異なるポートでリッスンしていますか?その場合、どのように確認しますか?.devhostsファイルに追加したいくつかのローカル仮想ホストからアクセスできるローカルvhostがあります。例えば127.0.0.1 home.dev、しかし、それらも上記のエラーを与えます。

編集

ポート80でリッスンしているものはないようsudo lsof -iTCP:80 -sTCP:LISTENです。実行すると、出力が得られません。しかし、Apacheは実行されているようです-私はapachectl何度もrestart` を実行しました。


あなたのウェブシェアがこのツールで動作しているか確認してください。clickontyler.com/web-sharing
siniradam

あなたはlocalhost完全に正常に動作しています。Apacheはそうではありません。この事実を表すように質問を更新し、Apache構成とそのログファイルの関連部分を含めることを忘れないでください。
ダニエルB 14年

私は同様の問題を持っていたし、それを解決することができました:stackoverflow.com/questions/26454160/...
Xaver

Mavericks / Yosemiteでこれを行う通常の方法は、ポート80からポート8080にポートフォワードすることです。pfctlを使用してこれを設定する方法の例については、gist.github.com / mindw0rk / dcc6c02a92b49bde0f13を参照してください。8080をリッスンします。ポート80に接続でき、トラフィックはApacheに転送されます。(当社の
開発

回答:


11

次のコマンドを使用して、Apacheの設定を確認してください。

sudo apachectl -t

これにより、構成ファイルがテストされ、エラーがあるかどうかが通知されます。実行sudo apachectl startしても、何らかの理由で構成ファイルの構文エラーがログに出力されません。


ここでもまったく同じ問題です。sudo apachectl -tを返しますSyntax OK。それでは何?
Pmpr

2

このコマンドは、ApacheがリッスンしているポートとIPv(4/6)アドレスを教えてください。

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

何も聞いていない場合、これから何を得ますか?

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

最後の手段で:

sudo serveradmin stop web

Console.appを開き、ブックマークを配置します

sudo serveradmin start web

ログを確認する


設定ファイルの問題があり、Apacheがまったく起動しませんでした!キャッシュされたページは、ローカルIPアドレスではなくローカルホストで実行されていると信じるようになりました。
ハリーグ14

わかりました、serveradminがhttpdをトリガーし、一般に起動ログを生成します。問題を解決できましたか?エラーメッセージplz(他のメンバー用)とは何ですか?
フロリアンビダベ

うん、解決しました。apache vhostsモジュールのコメントを外すのを忘れていたためVirtualDocumentRoute、vhosts構成ファイルでApacheがエラーを検出しました。
ハリーグ14

2
ちょっとハリーグ、もしチャンスがあればステータスを解決済みに更新してください。
フロリアンビダベ14

この問題が発生し、Apacheの起動時にエラーが発生しました。構成の構文エラーのため、ログには何もありません。このコマンドはそれを表面化しました:sudo apachectl -t
マットギブソン14年

0

デフォルトのポートは8080ですが、Apacheがリッスンしているポートのhttpd.confファイルを確認できます。


8080は機能せず、私の構成ファイルにはListen 80が含まれています。
ハリーグ14

おそらく「ps aux」でApacheが実行されているのを見ることができますか?また、エラーログには何かが表示されますか?デフォルトの場所は/ var / log / apache2 / error_logである必要があります

の出力はnetstat -tulpn | grep :80何ですか?
サルデー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.