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

san*_*oma 0 ubuntu node.js

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

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

Chr*_*sco 7

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

对于从服务器重新启动开始的后台任务,链接的帖子是正确的方法。如果它不起作用,也许这篇文章会对您有所帮助。这是来自Express Express官方网站: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
Run Code Online (Sandbox Code Playgroud)

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

systemctl enable my-app.service
systemctl start my-app.service
Run Code Online (Sandbox Code Playgroud)

现在,假设您的Linux发行版可与systemctl一起使用。如果您的Linux发行版可以与新贵或其他产品一起使用,则您需要在Google上查找该流程管理器的说明。