起動時に nginx init スクリプトが自動的に実行されないように設定

起動時に nginx init スクリプトが自動的に実行されないように設定

Ubuntu 16.04 に nginx をインストールしました。問題は、手動でのみ起動したいが、実行レベルで自動的に起動したくないことです。

さまざまな実行レベルで実行する方法に関しては多くのエントリが見つかりましたが、すべての実行レベルで実行されないようにする方法については見つかりませんでした。

そこで、私は推測して次のようにしました:

### BEGIN INIT INFO
# Provides:   nginx
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:
# Default-Stop:      0 1 2 3 4 5 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

それから:

/etc/init.d$ sudo update-rc.d nginx defaults
insserv: warning: current start runlevel(s) (2 3 4 5) of script `nginx' overrides LSB defaults (empty).
insserv: warning: current stop runlevel(s) (0 1 6) of script `nginx' overrides LSB defaults (0 1 2 3 4 5 6).

私の変更は機能しなかったようです。

これをオフにするにはどうすればいいですか?

答え1

この回答は、16.04 のデフォルトの init システムである SystemD を使用していることを前提としています。

借用DigitalOcean の SystemD ガイド次のようにして nginx の自動起動を無効にすることができます:

sudo systemctl disable nginx.service

これにより、以前提供されていた機能と同様に、起動時にサービスの自動起動が無効になりますupdate-rc.d。(SystemD ではupdate-rc.dそれほど便利ではないことに注意してください)

関連情報