服务器怎么关闭终端依然运行node,node.js – 即使在服务器重启时如何运行节点js...

我构建了一个Nodejs项目,现在它运行顺利.

我永远使用服务在后台运行文件,但如果服务器重新启动

守护程序不会自动启动,应该手动启动.

我想运行守护进程甚至服务器重新启动

解决方法:

您可以在.bash_profile中添加forever命令,以便每次服务器重新启动时,您的命令也将被执行.

nano ~/.bash_profile

forever start app.js # add this command to the file, or whatever command you are using.

source ~/.bash_profile # very important, else changes will not take effect

下次,在服务器重新启动时,您的命令也将运行,从而创建节点脚本的守护程序.

注意:这可能不是最好的解决方案,而是我得到的解决方案.

更新

正如@dlmeetei建议的那样,您也可以像服务一样启动nodejs应用程序,以便我们可以使用linux服务提供的功能.

首先在/ etc / systemd / system中创建一个文件,如:

touch /etc/systemd/system/[your-app-name].service

nano /etc/systemd/system/[your-app-name].service

然后,根据您的相关性添加和编辑以下脚本.

[Unit]

Description=Node.js Example Server

#Requires=After=mysql.service # Requires the mysql service to run first

[Service]

ExecStart=/usr/local/bin/node /opt/nodeserver/server.js

# Required on some systems

# WorkingDirectory=/opt/nodeserver

Restart=always

# Restart service after 10 seconds if node service crashes

RestartSec=10

# Output to syslog

StandardOutput=syslog

StandardError=syslog

SyslogIdentifier=nodejs-example

#User=

#Group=

Environment=NODE_ENV=production PORT=1337

[Install]

WantedBy=multi-user.target

启用该服务,它将标记启动时启动的服务.

systemctl enable [your-app-name].service

管理服务

systemctl start [your-app-name].service

systemctl stop [your-app-name].service

systemctl status [your-app-name].service # ensure your app is running

systemctl restart [your-app-name].service

感谢@dlmeetei分享链接.

标签:linux,node-js,centos,server

来源: https://codeday.me/bug/20190828/1750770.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值