私は Windows 7 コンピュータの Cygwin 上で Apache2 を実行しています。これはあまり機能せず、ローカル (ファイアウォールで保護された) LAN の HTML ドキュメントをホストするだけです。
奇妙なことに、スタートアップの種類が自動であるにもかかわらず、自動的に起動しないようです。ただし、手動で起動すると、問題なく動作します。なぜそうなるのか、何か考えはありますか?
- Apache バージョン (
httpd2.exe -v
):Apache/2.2.23 (Unix)
- Cygwin バージョン (
uname -a
):
CYGWIN_NT-6.1-WOW64 (hostname removed) 1.7.27(0.271/5/3) 2013-12-09 11:57 i686 Cygwin
他の Cygwin サービスが実行状態になる一連のイベントの途中で、Apache が停止状態になるイベントがあります。例:
アプリケーション ログで見つけたのは次の内容だけです。
ソース httpd2 からのイベント ID 0 の説明が見つかりません。このイベントを発生させるコンポーネントがローカル コンピューターにインストールされていないか、インストールが破損しています。ローカル コンピューターにコンポーネントをインストールするか、修復することができます。
イベントが別のコンピューターで発生した場合は、表示情報をイベントとともに保存する必要がありました。
イベントには以下の情報が含まれていました:
httpd2: PID 3384: `httpd2' サービスが停止しました。終了ステータス: 1
/var/log/apache2/error_log
このようなものがあります手動起動が成功した場合のみ:
[Fri Jul 17 08:30:28 2015] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Fri Jul 17 08:30:29 2015] [notice] Digest: generating secret for digest authentication ...
[Fri Jul 17 08:30:29 2015] [notice] Digest: done
[Fri Jul 17 08:30:29 2015] [warn] pid file /var/run/apache2/httpd2.pid overwritten -- Unclean shutdown of previous Apache run?
[Fri Jul 17 08:30:29 2015] [notice] Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.1e DAV/2 configured -- resuming normal operations
/var/log/httpd2.log
次のようなものがあります:
(125)Cannot assign requested address: make_sock: could not bind to address <my_172._ip>:80
no listening sockets available, shutting down
Unable to open logs
答え1
httpd2.exe -t
上記のコマンドは、構成ファイル内に存在する可能性のある正確なエラーを行番号とともに表示します。
試してみる
httpd2.exe -k アンインストール
その後
httpd2.exe -k インストール
私の場合はこれで問題は解決しました
答え2
同様の問題に遭遇しました。実行可能ファイルのプロパティに「このファイルは別のコンピューターから取得されました...」という警告がないことを確認してください。
このような場合は、「このファイルは別のコンピューターから取得されました...」 - フォルダー内のすべてのファイルを個別にブロック解除せずにブロックを解除するにはどうすればよいですか?