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