阅读 157

pm2自动化部署node项目到阿里云服务器

pm2自动化部署node项目到阿里云服务器

阿里云服务器对应的操作系统是centos

1. 电脑端和阿里云服务器端全局安装pm2

  安装这条命令前需要先确保阿里云服务器端安装了node,npm,可以参考https://www.cnblogs.com/zhenfeng95/p/12848819.html安装,然后npm install pm2 -g

2. 在项目根目录下初始化部署脚本的文件

  在项目根目录下新建一个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. 配置git的ssh免密认证

  在服务器中生成rsa公钥和私钥,前提服务器要安装git,没有安装的先安装git,可以参考https://www.cnblogs.com/zhenfeng95/p/12848819.html安装,然后通过ssh-keygen -t rsa -C "xxx@xxx.com"生成公钥,在~/.ssh目录下有 id_rsa和 id_rsa.pub两个文件,其中id_rsa.pub文件里存放的即是公钥key,登录到GitHub,点击右上方的头像,选择settings ,点击Add SSH key,把id_rsa.pub的内容复制到里面即可。

4. 使用pm2部署项目

  每次部署前先将本地的代码提交到远程git仓库,首次部署:pm2 deploy deploy.yaml production setup ,部署完成后,既可登陆服务器查看配置的目录下是否从git上拉取了项目,再次部署,

pm2 deploy deploy.yaml production update。

5. 阿里云后台添加安全组

  (1)选择实例列表 --》 更多 --》 网络和安全组 --》安全组配置

  技术分享图片

  (2)选择配置规则

  技术分享图片

  (3)在入方向定义自己的端口号

  技术分享图片

 

 

 

 

 

 

pm2常用命令:

 

启动一个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

 

 

pm2参考链接:https://www.jianshu.com/p/e15fd72727fe

阿里云服务器防火墙相关命令:https://www.cnblogs.com/yuanzipeng/p/10813494.html

 

 

 

 

 

    

 

 

pm2自动化部署node项目到阿里云服务器

标签:自动化   img   apps   mas   art   option   

原文:https://www.cnblogs.com/zhenfeng95/p/12853806.html


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐