我想让nginx
服务依赖于我编写的服务,比如说abc.service
。依赖是指:
nginx
当我停止时服务应该停止abc
nginx
当我启动时服务应该启动abc
一种典型的方法是修改/lib/systemd/system/nginx.service
和添加Wants abc
指令。但是,我不想修改nginx.service
文件 - 因为这是随 nginx 包一起提供的。
还有其他方法可以做到这一点吗?
答案1
切勿修改 中交付的单元/lib/systemd/system
,这些单元由包裹所有者运送,并且可能会在包裹升级时被覆盖。
选项1:创建单位的副本/etc/systemd/system
并进行修改。然后systemctl daemon-reload
你就完成了。/etc/systemd/system
是本地单位的位置 =>https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Unit%20File%20Load%20Path
选项 2:按照 Gerald Schneider 的建议创建一个插入文件。
root@host# mkdir /etc/systemd/system/nginx.service.d root@host# cat /etc/systemd/system/nginx.service.d/mydeps.conf [Unit] Wants=abc.service
您可能还需要 abc.service 中的一个指令,以便在 abc 停止时让 nginx 停止。