Mongodb 在 CentOs 7 中运行时仅运行 rc.local

Mongodb 在 CentOs 7 中运行时仅运行 rc.local

我的中有以下脚本rc.local

这会在端口 8080、8081、8082、8083 上运行服务。它们实际上是需要 mongod 才能启动的节点服务器。

因此,我编辑/lib/systemd/system/rc-local.service并添加了:

After=network.target syslog.target mongod.service

但事实并非如此:脚本仍然失败,因为在运行时,它们发现数据库服务器已关闭。

我可能做错了什么?我该如何调试它?

更新:现在我添加了After=,错误不是 mongoDb 连接(我查看了旧日志),而是 rc-local 似乎根本没有启动。systemctl restart rc-local.service但是手动运行是可行的...

更新2:通过取出syslog.target,从而得到:

After=network.target mongod.service

有一个奇怪的副作用,一半的服务器(4 台中的 2 台)启动正常,而另一半无法连接到数据库。这让我认为 systemd 运行 mongodb,但在运行 rc-local 时它尚未准备好接受连接

答案1

作为一种解决方法,为什么不将 mongodb 设置为不使用 systemctl 启动,而是将其设置为在所需项目之前在 rclocal 中启动?

相关内容