node服务的启动(解决node启动之后,ITerm窗口不能关闭问题)

通常node命令,启动一个node服务,一般都是执行,node app.js或者node index.js,但是,node启动的服务,启动窗口ITerm不能关闭,关闭了之后,服务就被stop。

PM2是一个node进程的管理工具,据说可以进行性能监控、自动重启、负载均衡等,而且使用非常简单。(目前没有测试过)

安装和更新PM2工具

在ITerm终端中执行,
1.安装命令
npm install pm2 -g
2.pm2更新命令
pm2 update

在安装完成之后,就可以使用pm2命令进行操作了

常用命令
1.启动服务 app.js为你的项目入口文件

pm2 start app.js|进程名字(name)|id 
2.重启服务
pm2 restart app.js |进程名字(name)|id 

3.关闭服务
pm2 stop app.js |进程名字(name)|id 
4.删除进程服务
pm2 delete app.js  进程名字(name)|id 
5.开启多进程 可以实现自动的负载均衡 5代表着开启的进程数量
pm2 start app.js -i 5

6.查看启动日志
pm2 logs
7.查看pm2启动的所有服务
pm2 list
8修改创建的服务的名字 修改当前进程的名字 为test
pm2 start app.js --name="test"
9.查看当前pm2安装的版本
pm2 --version

pm2操作的进程 ITerm显示

pm2操作的其他常用命令:

$ 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 flush


$ 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


$ pm2 deploy app.json prod setup    # Setup "prod" remote server

$ pm2 deploy app.json prod          # Update "prod" remote server

$ pm2 deploy app.json prod revert 2 # Revert "prod" remote server by 2


$ pm2 module:generate [name]    # Generate sample module with name [name]

$ pm2 install pm2-logrotate     # Install module (here a log rotation system)

$ pm2 uninstall pm2-logrotate   # Uninstall module

$ pm2 publish                   # Increment version, git push and npm publish

 

Linux下安装pm2

1.终端输入命令

npm install pm2 -g

终端执行的命令

/usr/local/node-v8.9.3-linux-x64/bin/pm2 -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/pm2
/usr/local/node-v8.9.3-linux-x64/bin/pm2-dev -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/pm2-v
/usr/local/node-v8.9.3-linux-x64/bin/pm2-docker -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/p-docker
/usr/local/node-v8.9.3-linux-x64/bin/pm2-runtime -> /usr/local/node-v8.9.3-linux-x64/lib/node_modules/pm2/bin/2-runtime
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/pm2/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","ch":"any"} (current: {"os":"linux","arch":"x64"})

+ pm2@2.10.2
added 221 packages from 206 contributors in 29.63s

学习博客:

https://www.cnblogs.com/mmzuo-798/p/11126773.html

https://ask.csdn.net/questions/878804

https://blog.csdn.net/qq_27098985/article/details/90051215

遇见的坑:

坑1:安装完之后使用pm2命令 无法正常使用,Linux下全局安装,但是不能自动进行全局配置。

-bash: pm2: command not found

解决方案:创建软连接,相当于配置去全局的访问。

ln -s /usr/local/node-v8.9.3-linux-x64/bin/pm2 /usr/local/bin/

坑2:在使用pm2命令式,一直报一个错误。

针对这个问题,可能有不同的产生原因,有的说是磁盘空间被占用过多,需要清理磁盘。解决方案:

https://www.cnblogs.com/xxcanghai/p/7111517.html,而我这边查看了一下磁盘空间只被占用了10%,而是权限使用问题,

在使用pm2进行命令操作是,使用了sudo 添加访问的权限

学习博客:

https://blog.csdn.net/chengxuyuanyonghu/article/details/74910875

https://www.cnblogs.com/xguoz/p/11289733.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值