Archlinuxでは、nginx
デバイスsystemd
がnginx
アクティブでsystemd
起動時に起動する必要があります。
ただし、再起動するたびに起動されず、次のエラーが表示されます。
➜ ~ journalctl -f -u nginx
-- Logs begin at Wed 2017-09-20 22:14:25 CEST. --
May 06 12:58:58 vps458278 systemd[1]: Starting A high performance web server and a reverse proxy server...
May 06 13:00:29 vps458278 systemd[1]: nginx.service: Start operation timed out. Terminating.
May 06 13:00:29 vps458278 systemd[1]: nginx.service: Control process exited, code=killed, status=15/TERM
May 06 13:00:29 vps458278 systemd[1]: nginx.service: Failed with result 'timeout'.
May 06 13:00:29 vps458278 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
その後、手動で起動するとsystemctl start nginx
問題なく正常に起動します。
これは私のnginxユニットファイルです。
➜ ~ systemctl cat nginx
# /usr/lib/systemd/system/nginx.service
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target network-online.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
PrivateDevices=yes
SyslogLevel=err
ExecStart=/usr/bin/nginx -g 'pid /run/nginx.pid; error_log stderr;'
ExecReload=/usr/bin/nginx -s reload
KillMode=mixed
[Install]
WantedBy=multi-user.target
起動時にのみ失敗するため、必要なユニット(network.target、network-online.target、nss-lookup.target)のいずれかにエラーが発生しても、ログに奇妙な内容は表示されません。
起動時にnginxが起動しないのはなぜですか?この状況をデバッグする最良の方法は何ですか?