linux如何后台运行node服务?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何后台运行node服务?相关的知识,希望对你有一定的参考价值。

参考技术A 在你的任意目录输入命令: npm install pm2 -g

1.找到全局环境PATH路径
输入命令: echo $PATH
回车后: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
你的路径和我的可能不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选 /usr/local/bin
2:找到pm2的安装路径
在上面输入 npm install pm2 -g 全局安装时
/usr/sbin/nodejs/bin/pm2 -> /usr/sbin/nodejs/lib/node_modules/pm2/bin/pm2
/usr/sbin/nodejs/bin/pm2 是安装路径(你的可能和我的不一样)
3.好了都找到了,
就重要的一步要开始了,睁大你的双眼。
命令为: ln -s /usr/sbin/nodejs/bin/pm2 /usr/local/bin/ (注意空格)
格式: ln -s 空格 pm2安装路径 空格 系统环境路径

OK,搞定,接下来验证一把…
[root@iZmwyb7v60px1zZ ~]# pm2 list
回车...

$ pm2 start app.js # 启动app.js应用程序
$ pm2 start app.js –name=”api” # 启动应用程序并命名为 “api”
$ pm2 start app.js –watch # 当文件变化时自动重启应用
$ pm2 start script.sh # 启动 bash 脚本

$ pm2 list # 列表 PM2 启动的所有的应用程序

$ pm2 monit # 显示每个应用程序的CPU和内存占用情况

$ pm2 show [app-name] # 显示应用程序的所有信息

$ pm2 logs # 显示所有应用程序的日志

$ pm2 logs [app-name] # 显示指定应用程序的日志
$ pm2 stop all # 停止所有的应用程序

$ pm2 stop 0 # 停止 id为 0的指定应用程序

$ pm2 restart all # 重启所有应用

$ pm2 reload all # 重启 cluster mode下的所有应用

$ pm2 gracefulReload all # Graceful reload all apps in cluster mode

$ pm2 delete all # 关闭并删除所有应用

$ pm2 delete 0 # 删除指定应用 id 0

$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例

$ pm2 reset [app-name] # 重置重启数量

$ pm2 startup # 创建开机自启动命令

$ pm2 save # 保存当前应用列表

$ pm2 resurrect # 重新加载保存的应用列表

$ pm2 update # Save processes, kill PM2 and restore processes

$ pm2 generate # Generate a sample json configuration file

如何让nodejs在linux后台运行

参考技术A

例如nodejs的主文件是index.js:

1.安装forever(pm2)模块,进行启动

说明:forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。

命令:

npm install -g forever
forever start index.js

2.用nohub命令

说明:将任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

命令:

nohup node index.js &

参考技术B 加入 主文件是 index.js
那么可以用的方法有:
1.用forever 进行管理
npm install -g forever
forever start index.js

2. 用自带的服务nohub
nohup node index.js > myLog.log 2>&1 &本回答被提问者采纳

以上是关于linux如何后台运行node服务?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Node.js 作为后台进程运行并且永不死亡?

如何将 node.js 应用程序作为后台服务运行?

linux后台进程运行和查看

text [在后台运行proccess] #linux #node

如何运行longlife后台进程,linux服务器

如何在Linux服务器上后台运行python程序,并将输出加载到指定文件中