我有一个专用的Godaddy服务器。 我需要在它上面运行一个节点应用程序。 我可以通过SSH运行
来做到这一点node app.js
问题是当ssh连接断开时...应用程序停止工作。
如何运行它以使其不会停止。
答案 0 :(得分:0)
创建一个shell脚本(例如 yourScript.sh ),然后输入命令" node app.js "内部。
示例 yourScript.sh :
#!/usr/bin/env bash
node app.js
确保您拥有执行权限:
chmod +x yourScript.sh
然后运行:
nohup ./yourScript.sh &
这意味着断开连接时进程不会退出。 Nohup 捕获HUP信号。 Nohup并没有在后台自动完成工作。我们需要明确地使用&
来说明答案 1 :(得分:0)
我使用Supervisor在生产中运行Node.js应用。它有方便的命令行API来显示进程的状态,启动/停止它,允许重启时重启等等。
配置文件如下所示:
[program:myapp]
directory=/home/myapp/app/current
command=node server/index.js
autostart=true
autorestart=true
environment=
PORT=3000,
MY_ANOTHER_VAR="something"
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log
user=myapp