私はUbuntu 16.04 LTSを持っていますこのガイドNginxビルドこのLDAP基準寸法。
私の問題は、ガイドが16.04でうまく動作しない古い/etc/init.dスクリプトを使用していることです。それから試しました。この最新のスクリプトsystemdの場合は動作しますが、奇妙なサービス動作が発生します。
現在「systemctl start nginx」を実行するとサービスが開始されますが(Webサーバーが機能しています)、コマンドを再度受信するにはctrl-cを押す必要があります。 「systemctl status nginx」が下に表示されます。 "systemctl stop nginx"はnginx Webサーバーを停止しません。 nginxを停止するには、「systemctl Kill nginx」を実行する必要があります。 /usr/local/nginx/logs/nginx.pid ファイルが見つからないことがわかりましたが、自分で作成してもエラーは解決しませんでした。
ここで少し迷子になりました。この問題をどのように解決できますか?
● nginx.service - LSB: nginx init.d dash script for Ubuntu or other *nix.
Loaded: loaded (/etc/init.d/nginx; bad; vendor preset: enabled)
Active: activating (start) since Thu 2018-04-05 15:44:43 EDT; 48s ago
Docs: man:systemd-sysv-generator(8)
Process: 28806 ExecStart=/etc/init.d/nginx start (code=exited, status=0/SUCCESS)
Tasks: 2
Memory: 9.2M
CPU: 29ms
CGroup: /system.slice/nginx.service
├─28815 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.con
└─28816 nginx: worker process
Apr 05 15:44:43 ubuntu systemd[1]: Starting LSB: nginx init.d dash script for Ubuntu or other *nix....
Apr 05 15:44:43 ubuntu nginx[28806]: * Starting Nginx Server...
Apr 05 15:44:43 ubuntu nginx[28806]: ...done.
Apr 05 15:44:43 ubuntu systemd[1]: nginx.service: PID file /usr/local/nginx/logs/nginx.pid not readable (yet?) after start: No such file or directory
答え1
公開した結果によると、systemdサービスユニットを使用しませんが、まだinit.dスクリプトを使用しています。
たぶん、サービスユニットを追加せずにsystemdを正しく再ロードしていないか、以前のinit.dスクリプトが邪魔になったり、サービスユニットに表示されていない操作を実行している可能性があります。これはあなたが投稿したシステムファイルの動作ではありません。
内容があれば公開したシステムサービスユニット実際には正しい場所()にあり、新しいサービスユニットをロードするコマンドを/etc/systemd/system/nginx.service
実行してからnginx init.dファイル()を移動するか、不要になったら削除してみてください。systemctl daemon-reload
/etc/init.d/nginx
ここでキーはステータス出力の上部にある「Loaded」行で、どのスクリプトが使用されているかを示します。出力がsystemdを使用していることを知らせてください。公開されたnginxサービスユニットを見てください。PIDFile
正しい場所に設定した場合は、正しく実行されます。