小编典典

如何将 Node.js 应用程序作为自己的进程运行?

all

部署 Node.js 的最佳方式是什么?

我有一个 Dreamhost
VPS(这就是他们所说的VM),我已经能够安装
Node.js 并设置一个代理。只要我保持打开节点的 SSH 连接,这将非常有效。


阅读 76

收藏
2022-07-07

共1个答案

小编典典

2016 年回答 :几乎每个 Linux 发行版都带有 systemd,这意味着 永远不再需要监视、PM2 等 -
您的操作系统已经处理了这些任务

制作一个myapp.service文件(显然,用您的应用程序名称替换“myapp”):

[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=nogroup
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在第一行并打开可执行模式chmod +x myapp.js

将您的服务文件复制到该/etc/systemd/system文件夹​​中。

用 . 告诉 systemd 新服务systemctl daemon-reload

开始它systemctl start myapp

启用它以在启动时运行systemctl enable myapp

查看日志journalctl -u myapp

这取自 How we deploy node apps on Linux, 2018
edition
,其中还包括生成
AWS/DigitalOcean/Azure CloudConfig 以构建 Linux/node 服务器(包括.service文件)的命令。

2022-07-07