実行すると、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'
答え1
systemd
Apacheに停止を指示してシグナルとログをgraceful-stop
生成します。 (このシグナルはApacheで(乱用)使用されます。)SIGWINCH
caught SIGWINCH, shutting down gracefully
SIGWINCH
IMO、誤った設定を含む他のバグが原因で停止し、正常な動作である関連症状が発生する可能性があります。
通常、デフォルトでSLESディレクトリにあるApacheエラーログを注意深く読んでください/var/log/apache2
。
答え2
答え3
コメントからRed Hatのバグレポートリンク先トーマスの答え:
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でも動作します)。