Fla*_*ien 7 upstart mongodb ubuntu-12.04
我在 Ubuntu 服务器上运行 MongoDB。它使用 upstart 脚本在机器启动时启动 mongod。我注意到如果进程崩溃,它不会重新启动。
我怎样才能确保如果它崩溃了,mongod 进程会重新启动?
Fla*_*ien 12
我自己找到了答案:最简单的方法是在 MongoDB ( /etc/init/mongodb.conf)安装的 upstart 脚本的末尾添加以下两行:
respawn
respawn limit 10 90
Run Code Online (Sandbox Code Playgroud)
如果它终止,这将尝试重新启动进程,如果它在 90 秒内崩溃超过 10 次,则停止。
小智 5
我不认为新版本的 MongoDB/Ubuntu 使用 upstart。以下是我在 Ubuntu 18.04、MongoDB 4.0.2 上实现此目标的方法:
/lib/systemd/system/mongod.service在文本编辑器中打开:
sudo nano /lib/systemd/system/mongod.service
Run Code Online (Sandbox Code Playgroud)
添加Restart=on-failure和RestartSec=10以便在服务器以非零退出代码退出时 10 秒后重新启动服务器:
[Service]
User=mongodb
Group=mongodb
EnvironmentFile=-/etc/default/mongod
Restart=on-failure
RestartSec=10
...
Run Code Online (Sandbox Code Playgroud)
Restart=always如果您想重新启动,无论退出代码如何,请使用。
然后您可以systemctl daemon-reload重新启动服务,或者只是重新启动服务器。
| 归档时间: |
|
| 查看次数: |
12026 次 |
| 最近记录: |