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