pm2如何自动化部署nodejs新项目?下边本文给大家介绍一下安装及配备pm2,以实现自动化部署node工程项目的方式,希望能帮助到大家!
1、pm2介绍
pm2(process manager)是一个过程可视化工具,维护保养一个过程目录,能够用它管理方法你node过程,承担全部后台运行的进程,并查询node进程的状态,还支持性能监控,web服务等服务。
1.1、应用pm2管理的node程序流程带来的好处
2、pm2安装与应用
2.1、全局性组装
npm install pm2 -g
2.2、命令
运行一个node程序流程
pm2 start start.js
运行过程并特定运用的程序名
pm2 start app.js --name application1
集群模式运行
// -i 表明 number-instances 案例总数 // max 表明 PM2将自动识别可以用CPU的总数 能自己特定总数 pm2 start start.js -i max
加上过程监控
// 在文档更改的时候就会重启程序流程 pm2 start app.js --name start --watch
列举全部过程
pm2 list pm2 ls // 缩写
从过程页面上删掉过程
// pm2 delete [appname] | id pm2 delete app // 特定过程名删掉 pm2 delete 0 // 特定过程id删掉
删掉过程页面上全部过程
pm2 delete all
查询某一过程详细情况
pm2 describe app
查看进程的能源消耗具体情况
pm2 monit
重启进程
pm2 restart app // 重新启动特定名字的进程 pm2 restart all // 重新启动全部过程
查看进程日志
pm2 logs app // 查询该名字进度的日志 pm2 logs all // 查询全部进度的日志
设定pm2开机自启
打开启动设置,这里是CentOS系统软件,其他软件更换最后一个选择项(选择项:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)
pm2 startup centos
随后按照提示必须输入指令开展键入
最终保存设置
pm2 save
3、根据pm2环境变量来自动部署新项目
保证服务器安装了pm2,未安装得话先组装
npm install pm2 -g
3.1 在工程目录下新创建一个 deploy.yaml 文档
# deploy.yaml
apps:
- script: ./start.js # 通道文档
name: 'app' # 程序流程名字
env: # 系统变量
COMMON_VARIABLE: true
env_production:
NODE_ENV: production
deploy: # 布署脚本制作
production: # 工作环境
user: lentoo # 云服务器登录名
host: 192.168.2.166 # 云服务器ip详细地址
port: 22 # ssh端口
ref: origin/master # 要获取的git支系
ssh_options: StrictHostKeyChecking=no # SSH 公匙查验
repo: https://github.com/**.git # 远程仓库详细地址
path: /home # 获取到网络服务器某一目录下
pre-deploy: git fetch --all # 布署前实行
post-deploy: npm install && pm2 reload deploy.yaml --env production # 布署后实行
env:
NODE_ENV: production
3.2 配备git的ssh免密支付验证
在云服务器中形成rsa公钥和私钥,现阶段是 centos7 中进行
前提条件服务端要组装git,未安装的先组装git,已下载的绕过
yum –y install git
形成密匙
ssh-keygen -t rsa -C "xxx@xxx.com"
在~/.ssh目录下有 id_rsa和 id_rsa.pub2个文档,在其中id_rsa.pub文档里储存的就是公匙key。
登陆到GitHub,点一下右上角的个人头像,挑选settings ,点一下Add SSH key,把id_rsa.pub内容拷贝到里边就可以。
3.3 应用pm2部署项目
每一次布署前先把当地的代码提交到远程控制git库房
初次布署
pm2 deploy deploy.yaml production setup
布署结束后,既可以登陆服务器查看配置的目录下是不是从git上获取了新项目
再度布署
pm2 deploy deploy.yaml production update
3.4 该布署步骤也适用前端项目
如vue-cli项目,全自动部署到服务器,自动完成npm run build 指令,产生的dist文件目录,特定到nginx的静态数据文件名称下。
4、可能遇到坑
在window系统下 vscode的命令行程序,及其powershell实行部署的指令时,发生布署不成功
pm2 deploy deploy.yaml production setup
解决方法:应用gitcmd去执行
大量node基本知识,请访问:nodejs 实例教程!!
以上就是关于教你如何安装及配备pm2,完成自动化部署node工程项目的具体内容,大量欢迎关注AdminJS其他类似文章!