nginx.service
Ubuntu 16.04 で、Nginx などのsystemd ファイルをどこに置けばいいですか?
答え1
おすすめの場所は/etc/systemd/system/nginx.service
次に、次のコマンドを発行します。
systemctl enable nginx
そして最後に
systemctl start nginx
答え2
通常、Ubuntu では、パッケージで提供されるユニット ファイルは/lib/systemd/system/
ディレクトリに保存されますが、/lib/systemd/system/nginx.service
ユーザーが提供したユニット ファイルやパッケージで提供されるユニット ファイルに対する変更も/etc/systemd/system/
ディレクトリに保存されます。
上書きするには、次の操作を実行します。
ユニットファイルにパッケージで提供されている名前を付けます(例:オーバーライドする場合)
/lib/systemd/system/nginx.service
。ファイルを作成し/etc/systemd/system/nginx.service
てそこにディレクティブを配置できます。.conf
または、元のユニットファイルにちなんで名付けられたディレクトリに、ディレクトリ名に を追加したドロップイン スニペットを作成することもできます.d
。たとえば、 という名前のファイルを作成し/etc/systemd/system/nginx.service.d/override.conf
、そこにステートメントを配置することができます。
これで、コマンドを利用してすべての手動作業を実行できますsystemctl edit
。つまり、必要なオーバーライド ファイルが作成されます (最初に一時ファイル (ドロップイン スニペット用の中間ディレクトリを含む) が作成され、保存するとコミットされ、rename()
一時ファイルが目的の最終ファイルに作成されます)。その後は、ファイルを編集してオーバーライドを追加するだけです。
たとえば、上記のngnx.service
( )のオーバーライド スニペットを作成するには、次のようにします。/lib/systemd/system/nginx.service
systemctl edit nginx.service
デフォルトでは、ファイル が使用されます/etc/systemd/system/nginx.service.d/override.conf
。--full
が使用される場合は、完全な置換ファイル/etc/systemd/system/nginx.service
が使用されます (元のコンテンツが/lib/systemd/system/nginx.service
このファイルにコピーされます)。
もちろん一時的なものになりますが、を使用し--runtime
てスニペットを作成することもできます/run/systemd/system/
(最初はドロップイン スニペット、次に全体な--runtime
ので相互に排他的ではありません)。--full
使用するエディターは当然選択できますが、優先順位は次のとおりです。
$SYSTEMD_EDITOR > $EDITOR > $VISUAL > editor > nano > vim > vi