2013-02-23 6 views
5

OS X 10.8.2でいくつかの仮想ホストで作業していました。私はApache2インストールとMySQLを使って名前ベースの仮想ホストを実行しています。彼らは昨夜まで完璧に動作しています。突然、私の仮想ホストのすべてが「接続できません」ページにリダイレクトされます。Apacheは起動しません - httpdモジュールはロードされていますが、実行されていないと言います

最終的にエラーログを調べて、Apacheが実際には実行されていないと判断しました。たとえば、ps aux | grep apacheはgrepプロセスのみを返します。しかし、sudo/usr/sbin/apachectl startを試してみると、 "org.apache.httpd:既に読み込まれています"という応答が出ます。

私のhttpd.confファイルをチェックしても問題ないです。私はそれに何か変更を見ることができません。私も構文検査コマンドを実行しました(正確な時点で私の脳をエスケープします)、OKに戻りました。エラーログで見つかった唯一のことは、昨日からの2月21日のことでした。 "[Thu Feb 21 21:46:02 2013] [通知] SIGTERMを捕まえてシャットダウンする

それ以来、Apacheのエラーログには何も含まれていません(実行されていないため)。私は再起動して、Apacheを再起動しようとしました。私はそれがそうではないにもかかわらずそれが走っていると思う理由について全面的に迷っています。

アイデア? /var/logs/system.logで

私はApacheを起動し、再起動しよう:

Feb 23 09:27:00 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8766]): Exited with code: 1 
Feb 23 09:27:00 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:10 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8767]): Exited with code: 1 
Feb 23 09:27:10 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:16 Baileys-MacBook-Pro.local sudo[8769]: bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/sbin/apachectl start 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8772]): Exited with code: 1 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:20 Baileys-MacBook-Pro.local sudo[8773]: bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/sbin/apachectl restart 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd[8777]): Exited with code: 1 
Feb 23 09:27:20 Baileys-MacBook-Pro com.apple.launchd[1] (org.apache.httpd): Throttling respawn: Will start in 10 seconds 
Feb 23 09:27:26 Baileys-MacBook-Pro.local sudo[8778]: bailey : TTY=ttys000 ; PWD=/private/var/log ; USER=root ; COMMAND=/usr/bin/vi system.log 

この問題は、再起動後に持続します。先日以来、それは起動しませんが、httpdモジュールがロードされていると考えています。

私はGoogleを介して調べようとしていますが、 - Apacheがロードされているかどうかを誰かが確認していますか?私は実行する多くのサービスロックファイルを知っています。 Apacheが現在実行していないにもかかわらず、ロックされているファイルがありますか?



注:私も、ServerFaultの上でこれを投稿した - これまでのところ、私はServerFaultの上で何も届かないので、私もここにこれを掲示していると私は上のApacheの記事を見てきましたStackOverflowなので、私はApacheの質問がStackにとってうまくいくと仮定しています。

答えて

19

Apacheがバインドしようとしているのと同じポート(通常はポート80)でリスンしている別のプロセスがある場合に、Apacheを起動して問題を再現できます。あるかどうのでチェックし、おそらくそのポートでリッスンし、他のプロセス:

sudo lsof -i tcp:80 | grep LISTEN 

EDIT:は、おそらく簡単に:

sudo /usr/sbin/httpd -k start -e Debug -E /dev/stdout 
:あなたは理由は、それが開始されませんが何であるかを確認するために、手動でデバッグモードでApacheを起動することができます私の場合は

(何かがすでにポート80でリスニング)、それが生成されます:

(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80 
+0

私が実行すると、出力は何もありません。 –

+0

あなたのApacheはポート80でリッスンしますか?それ以外の場合は、 'tcp:'の後にポート番号を変更する必要があります。組み込みのApache 2を実行していますか、またはMAMPなどをインストールしましたか? – robertklep

+0

Apacheはポート80で動作します。 OS X 10.8.2用のApache 2が組み込まれています。 –

0

robertklepのポインタ:

sudo/usr/sbin/httpd -k start -eデバッグ-E/dev/stdout

私に関連する問題を解決しました。同じ症状、別の原因、私は思う。 SSL &という自己署名証明書付きのテスト仮想ホストをセットアップしました。

私はパスフレーズで秘密鍵を生成しました。 したがって、httpdはパスフレーズ(私が供給していなかった)を待っていました。 デバッグオプションを使用して起動したときに、パスフレーズ& httpdが起動したというプロンプトが表示されました。

だから、私が得た私の場合は...パスフレーズなし

1

を秘密鍵を再実行します:

(2)そのようなファイルまたはディレクトリ:HTTPD:オープンエラー・ログ・ファイルではありませんでし /private/var/log/apache2/error_log。ログを開くことができません

ディレクトリを作成すると、apache2が実行されました。

+0

これは私のために働いていました。/mnt/apache2だから私はmntに "apache2"ディレクトリを作成し、それは働いた! –

0

これは関連するのかどうかわかりませんが、同じ問題に直面して別の解決策が見つかったので、とにかく私の2cを入れてみましょう。

同じ問題が発生したときにこの記事を参照してください。 httpd.confファイルが原因であることが分かります。私は何かをインストールするためにそれを変更しました。私はインストーラファイルを削除しましたが、httpd.confを元に戻すのを忘れました。私はあなたが同じ問題に直面していないことを願っています。

ポート80の質問については、私はそれをオフにした後、スカイプホッグとポート443(神が何を知っているか)を知っていました。ポート80でSkypeを実行していないことを確認してください。

関連する問題