部署Node.js的最佳方法是什么?
我有一个Dreamhost VPS(这就是他们所说的VM),并且我已经能够安装Node.js并设置代理。只要我保持打开节点时启动的SSH连接就可以了。
2016年答案 :几乎每个Linux发行版都随附systemd,这意味着 永久,monit,PM2等都不再需要-您的OS已经可以处理这些任务 。
制作一个myapp.service文件(用您的应用名称替换“ myapp”):
myapp.service
[Unit] Description=My app [Service] ExecStart=/var/www/myapp/app.js Restart=always User=nobody # Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody' Group=nobody Environment=PATH=/usr/bin:/usr/local/bin Environment=NODE_ENV=production WorkingDirectory=/var/www/myapp [Install] WantedBy=multi-user.target
请注意,如果您不熟悉Unix,则 /var/www/myapp/app.js应该#!/usr/bin/env node在第一行。
/var/www/myapp/app.js
#!/usr/bin/env node
将您的服务文件复制到该/etc/systemd/system文件夹中。
/etc/systemd/system
通过告诉systemd有关新服务的信息systemctl daemon-reload。
systemctl daemon-reload
从开始systemctl start myapp。
systemctl start myapp
使它能够在启动时运行systemctl enable myapp。
systemctl enable myapp
查看日志 journalctl -u myapp
journalctl -u myapp
这取自 我们如何在Linux版2018年上部署节点应用程序 ,该 版本 还包括用于生成AWS / DigitalOcean / Azure CloudConfig来构建Linux /节点服务器(包括.service文件)的命令。
.service