service Apache start
を実行すると、ログファイルに次のエントリが表示されます。
[mpm_event:notice] [pid 1906:tid XXX] AH00489: Apache/2.4.23 (Unix)
OpenSSL/1.0.2g PHP/7.0.9 configured -- resuming normal operations
[core:notice] [pid 1906:tid XXX] AH00094: Command line: '/usr/sbin/httpd'
[mpm_event:notice] [pid 1906:tid XXX] AH00492: caught SIGWINCH, shutting down gracefully
とサービスApache
が開始されませんか?インターネットでSIGWINCH
の意味[Window size change
]を見つけることができますが、この場合はあまり役に立ちません。
ファイル/etc/systemd/system/Apache.service
:
[Unit]
Description=The Apache Webserver [FaF Compiled]
After=network.target nss-lookup.target time-sync.target
[email protected] plymouth-quit.service xdm.service
[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/httpd -k start
ExecReload=/usr/sbin/httpd -k graceful
ExecStop=/usr/sbin/httpd -k graceful-stop
KillMode=mixed
[Install]
WantedBy=multi-user.target
Alias=httpd.service Apache.service
SLES 12 SP1で実行されています。私は自分でApacheをコンパイルしました。 apachectl -k start
で開始すると完全に機能し、PHPコードにアクセスして実行できます。
私の質問:Apache
サービスが開始されないのはなぜですか。 systemctl enable Apache
で有効にしました。これは出力でした:
ln -s '/usr/lib/systemd/system/Apache2.service' '/etc/systemd/system/httpd.service'
ln -s '/usr/lib/systemd/system/Apache2.service' '/etc/systemd/system/Apache.service'
ln -s '/usr/lib/systemd/system/Apache2.service' '/etc/systemd/system/multi-user.target.wants/Apache2.service'
systemd
は、Apacheにgraceful-stop
で停止するように指示しています。これにより、SIGWINCH
信号が生成され、ログcaught SIGWINCH, shutting down gracefully
が生成されます。 (SIGWINCH
信号はApacheによって(ab)使用されます)
IMO、構成エラーを含む別のエラーの可能性があり、それを停止させると、正常な動作である関連する症状が表示されます。
Apacheエラーログをよく読むことをお勧めします。通常、デフォルトではSLESの/var/log/Apache2
ディレクトリの下にあります。
RedHat で報告されている同様の問題を発見しました。ステータス「NOTABUG」でクローズされました。最終的に間違った構成として認識されます。
serverfault で報告されている同様の問題がもう1つ見つかりました。そして、その答えの1つを下の画像に示します。
Red Hatバグレポート のコメントから Tomaszの回答 へのリンク:
Httpdが正常に起動したことをsystemdに認識させるには、00-systemd.confを実行する必要があるようです。
私はこれを実行し、うまくいきました:
ln -sr /etc/httpd/conf.modules.d/00-systemd.conf /etc/httpd/conf.d/00-systemd.conf
systemctl restart httpd
私はAmazon Linux 2を使用しています(おそらくRHEL/Centos 7でも動作します)。