nginx.service 在挂载后未启动

nginx.service 在挂载后未启动

我有一个依赖于已安装驱动器的 nginx。

我的 nginx.service 在服务单元中有一个带有 RequiresMountsFor 的条目,如下所示:

[Unit]
RequiresMountsFor=/media/bar

但看起来它仍在挂载点之前启动。

我的挂载命令如下所示,在 cron 作业 @reboot 上:

mount -o bg,nolock,noac,actimeo=0 192.168.1.5:/foo/bar /media/bar

我找不到哪里出了问题。以下是配置显示systemctl show nginx.service

...
Before=multi-user.target shutdown.target
After=foo-bar.mount sysinit.target network.target -.mount system.slice basic.target systemd-journald.socket
RequiresMountsFor=/media/bar
...

答案1

如果你需要在 cron 之后专门运行,你可以添加

Requires=cronie.service

在您的单元文件中,它将等待 crond 启动后再尝试 nginx 服务。

您可能还会幸运地将挂载移动到/etc/fstab而不是作为 cron。systemd 会自动从那里选择挂载并创建适当的挂载文件。

相关内容