在ubuntu中运行Node.js脚本作为服务的最佳方法?

时间:2018-05-22 16:07:16

标签: node.js ubuntu

我有node.js脚本,可以让我的MongoDB数据库和CRM数据库实时同步。

我想在我的ubuntu服务器上运行此脚本作为后台任务,我找到了this解决方案,但它对我不起作用。有没有其他方法可以达到这个目标?

1 个答案:

答案 0 :(得分:4)

如果您只是想启动应用,可以使用ForeverPM2来运行并在崩溃时自动重启。 但这不是后台任务

对于在服务器重启时启动的后台任务,您链接的帖子是正确的方法。如果它不起作用,也许这篇文章会对你有所帮助。这来自官方快递网站:https://expressjs.com/en/advanced/pm.html#systemd

基本上你创建

[Unit]
Description="My Express App"

[Service]
ExecStart=/usr/bin/node server.js
WorkingDirectory=/project/absolute/path
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=MyApp
Environment=NODE_ENV=production PORT=8080

[Install]
WantedBy=multi-user.target

进入/etc/systemd/system/my-app.service文件,然后使用systemctl启动它:

systemctl enable my-app.service
systemctl start my-app.service

现在假设您的Linux发行版与systemctl一起使用。如果您的Linux发行版与upstart或其他东西一起使用,那么您需要对该流程管理器的指令进行谷歌搜索。