在Ubuntu上以服务方式运行Node.js脚本的最佳方法是什么?

13

我有一个 Node.js 脚本,能够实时同步我的 MongoDB 数据库和 CRM 数据库。

我想在 Ubuntu 服务器上将此脚本作为后台任务运行。我找到了这个解决方案,但对我不起作用。还有其他方法可以实现吗?

1个回答

41
如果您只是想启动应用程序,可以使用ForeverPM2在崩溃时运行和自动重新启动。但是,这不是一个后台任务。
对于在服务器重新启动时启动的后台任务,您链接的帖子是正确的方法。如果它没有起作用,也许这篇文章可以帮助您。这来自官方的Express网站:为Express应用程序创建进程管理器 基本上,您创建
[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或其他什么东西,那么你需要谷歌该进程管理器的指令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接