好用的linux后台进程管理 pm2

pm2 是一款带有负载均衡的 node 应用进程管理器,当然也可以用来管理 php 的cli脚本。.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的,下面我们来看pm2常用的命令用法介绍吧。
PM2 (github上的源码)是开源的基于Nodejs的进程管理器,包括守护进程,监控,日志的一整套完整的功能,基本是Nodejs应用程序不二的守护进程选择,事实上它并不仅仅可以启动Nodejs的程序,只要是一般的脚本的程序它同样可以胜任。

由下图可见,pm2对应用服务的监控非常全面,而且命令简单。
在这里插入图片描述
先安装nodejs,直接去网上下载,安装有可视化安装界面,安装成功后检查下是否安装成功(环境变量是否已注册进入)

node -v
npm -v

安装pm2命令

npm install pm2 -g

pm2启动laravel命令

pm2 start artisan --name laravel-worker --interpreter php -- queue:work --daemon

以下是pm2常用的命令行

$ pm2 start app.js              # 启动app.js应用程序
 
$ pm2 start app.js -i 4         # cluster mode 模式启动4个app.js的应用实例     # 4个应用程序会自动进行负载均衡
 
$ 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 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
--watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts""
-n --name:应用的名称。查看应用信息的时候可以用到。
-o --output <path>:标准输出日志文件的路径。
-e --error <path>:错误输出日志文件的路径。
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值