使用pm2自动化部署node项目上海时时乐走势图官网

2、pm2安装与使用

pm2 --help

四、PM2目录结构

默认的目录是:当前用于的家目录下的.pm2目录(此目录可以自定义,请参考:五、自定义启动文件),详细信息如下:
$HOME/.pm2 #will contain all PM2 related files
$HOME/.pm2/logs #will contain all applications logs
$HOME/.pm2/pids #will contain all applications pids
$HOME/.pm2/pm2.log #PM2 logs
$HOME/.pm2/pm2.pid #PM2 pid
$HOME/.pm2/rpc.sock #Socket file for remote commands
$HOME/.pm2/pub.sock #Socket file for publishable events
$HOME/.pm2/conf.js #PM2 Configuration

五、自定义启动文件

创建一个test.json的示例文件,格式如下:
{
"apps":
{
"name": "test",
"cwd": "/data/wwwroot/nodejs",
"script": "./test.sh",
"exec_interpreter": "bash",
"min_uptime": "60s",
"max_restarts": 30,
"exec_mode" : "cluster_mode",
"error_file" : "./test-err.log",
"out_file": "./test-out.log",
"pid_file": "./test.pid"
"watch": false
}
}

说明:

apps:json结构,apps是一个数组,每一个数组成员就是对应一个pm2中运行的应用
name:应用程序的名称
cwd:应用程序所在的目录
script:应用程序的脚本路径
exec_interpreter:应用程序的脚本类型,这里使用的shell,默认是nodejs
min_uptime:最小运行时间,这里设置的是60s即如果应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量
max_restarts:设置应用程序异常退出重启的次数,默认15次(从0开始计数)
exec_mode:应用程序启动模式,这里设置的是cluster_mode(集群),默认是fork
error_file:自定义应用程序的错误日志文件
out_file:自定义应用程序日志文件
pid_file:自定义应用程序的pid文件
watch:是否启用监控模式,默认是false。如果设置成true,当应用程序变动时,pm2会自动重载。这里也可以设置你要监控的文件。
详细参数列表:见附件八

六、实例

已上面的test.json为例

pm2命令

pm2 start ./bin/www 启动
pm2 stop ./bin/www关闭
pm2 delete ./bin/www删除
pm2 list 当前项目信息
pm2 restart ./bin/www 重新启动
pm2 log

pm2 start all

dspod.cn进行域名指向
镜像:公告镜像 ubuntu 14.04 64位
专有网络
买的时候就创建root密码

登陆到后台:ssh root@59.110.236.209
输入密码

2.1、全局安装

npm install pm2 -g 

 

pm2 stop all #停止PM2列表中所有的进程

阿里云ECS专有网络端口设置方法

 

PM2的主要特性:

  • 内建负载均衡(使用Node cluster 集群模块)

  • 后台运行

  • 0秒停机重载,我理解大概意思是维护升级的时候不需要停机.

  • 具有Ubuntu和CentOS 的启动脚本

  • 停止不稳定的进程(避免无限循环)

  • 控制台检测

  • 提供 HTTP API

  • 远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )

安装Mongodb

导入mongodb公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

生成mongodb列表
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

更新包
sudo apt-get update

安装最新稳定版
sudo apt-get install -y mongodb-org
安装完成.

附启动关闭命令

$ sudo service mongod start
$ sudo service mongod stop
$ cat /var/log/mongodb/mongod.log
$ sudo service mongod restart

附卸载步骤

$ sudo service mongod stop
$ sudo apt-get purge mongodb-org*
$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb

4、可能会遇到的坑

  • 在window系统下 vscode的命令行程序,以及powershell执行部署的命令时,出现部署失败

    pm2 deploy deploy.yaml production setup

上海时时乐走势图官网 1

 

解决方案:使用git命令行来执行

 

3. 自动化部署

通过shell脚本实现资源拉取、服务重启、nginx缓存更新等操作,再配合pm2的监控功能,就初步达到了一个后端工程部署的标配了。

安装Nvm & Nodejs

首先更新阿里云的apt-get库
$ apt-get update

然后安装curl工具
$ apt-get insrall curl

安装nvm包管理工具
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash

退出该终端重新进入让环境变量起作用
安装6.11.2(LTS)版本的Nodejs
$ nvm install 6.11.2

使用6.11.2版本
$ nvm use 6.11.2

设置默认node版本为6.11.2
$nvm alias default 6.11.2

安装nodejs的时候会自动将npm安装好,设置npm源为国内淘宝源,国外源太慢
$ npm config set registry https://registry.npm.taobao.org

安装pm2,pm2可以监控我们的服务器在后台运行,并让我们的服务器在crash掉的时候重启。
$ npm install pm2 -g

1、pm2简介

pm2(process manager)是一个进程管理工具,维护一个进程列表,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。

chmod x test.sh #添加执行权限

通过ssh实现无密码登陆

复制本地的公钥:
一般是在 ~/.ssh/id_rsa.pub

在服务器生成公钥:
在服务器根目录输入 ssh-keygen -t rsa -b 4096 -C "xxx@xx.com" //邮箱随便写
回车到底
输入eval "$(ssh-agent -s)" //代理
输入ssh-add ~/.ssh/id_rsa //注意ssh-add 和 ~之间有空格
此时进入 /.ssh/目录
vi authorized_keys
把本地的id_rsa.pub文件内的内容粘贴到authorized_keys文件里(可以用编辑器打开id_rsa.pub文件)
esc然后:wq!保存退出
chmod 600 authorized_keys
然后 sudo service ssh restart 再输入密码就可以了
ssh chengfengwang@59.110.236.209不用输入密码就可以登陆了

node部署原地址

1.1、使用pm2管理的node程序的好处

  1. 监听文件变化,自动重启程序
  2. 支持性能监控
  3. 负载均衡
  4. 程序崩溃自动重启
  5. 服务器重新启动时自动重新启动
  6. 自动化部署项目

基本指令

npm install pm2 -g : 全局安装。
pm2 start app.js : 启动服务,入口文件是app.js。
pm2 start app.js -i [n] --name [name] : 启动n个进程,名字命名为name。
npm restart [name or id] : 重启服务。
npm reload [name or id] : 和rastart功能相同,但是可以实现0s的无缝衔接;如果有nginx的使用经验,可以对比nginx reload指令。
pm2 start app.js --max_memory_restart 1024M : 当内存超过1024M时自动重启。 如果工程中有比较棘手的内存泄露问题,这个算是一个折中方案。
pm2 monit : 对服务进行监控。

更多的指令可以参考 PM2 介绍

禁用roo登陆 :

新建一个用户adduser username
输入密码,接下来是一些可选信息,可以一路回车直到创建成功
执行 gpasswd -a username sudo
再执行 sudu visudo 进入下面的界面,然后在方框位置填入方框内容

上海时时乐走势图官网 2

ctrl x 再 shift Y 保存退出
新开一个窗口 ssh chengfengwang@59.110.236.209输入密码就可以登陆了

3.3 使用pm2部署项目

每次部署前先将本地的代码提交到远程git仓库

  • 首次部署

    pm2 deploy deploy.yaml production setup

部署完成后,既可登陆服务器查看配置的目录下是否从git上拉取了项目

  • 再次部署

    pm2 deploy deploy.yaml production upddate

     

pm2 logs [--raw] #Display all processes logs in streaming

2.2、常用命令

  • 启动一个node程序 

    pm2 start start.js

 上海时时乐走势图官网 3

  • 启动进程并指定应用的程序名

    pm2 start app.js --name application1

     

  • 集群模式启动

 

// -i 表示 number-instances 实例数量
// max 表示 PM2将自动检测可用CPU的数量 可以自己指定数量
pm2 start start.js -i max

上海时时乐走势图官网 4

 

  • 添加进程监视

    // 在文件改变的时候会重新启动程序 pm2 start app.js --name start --watch

上海时时乐走势图官网 5

 

  • 列出所有进程

    pm2 list
    pm2 ls // 简写
    
     
    
  • 从进程列表中删除进程

    // pm2 delete [appname] | id
    pm2 delete app  // 指定进程名删除
    pm2 delete 0    // 指定进程id删除
    
     
    
  • 删除进程列表中所有进程

    pm2 delete all
    

 

  • 查看某个进程具体情况

    pm2 describe app
    

 

上海时时乐走势图官网 6

 

  • 查看进程的资源消耗情况
    pm2 monit
    

 

上海时时乐走势图官网 7

 

  • 重启进程

     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 start app.js

3、通过pm2配置文件来自动部署项目

确保服务器安装了pm2,没有安装的话先安装

npm install pm2 -g

<pre>

3.4 该部署流程同样适用前端项目

如vue-cli的项目,自动部署到服务器,自动执行npm run build 命令,生成的dist目录,指定到nginx的静态文件目录下。

pm2 updatePM2 #升级pm2

  1. 更多命令参数请查看帮助

3.2、配置git的ssh免密认证

  1. 在服务器中生成rsa公钥和私钥,当前是 centos7 下进行

  2. 前提服务器要安装git,没有安装的先安装git,已安装的跳过

    yum –y install git
    
  3. 生成秘钥

     ssh-keygen -t rsa -C "xxx@xxx.com"
    

    在~/.ssh目录下有 id_rsa和 id_rsa.pub两个文件,其中id_rsa.pub文件里存放的即是公钥key。

  4. 登录到GitHub,点击右上方的头像,选择settings ,点击Add SSH key,把id_rsa.pub的内容复制到里面即可。

 

上海时时乐走势图官网 8

 

用法

$ npm install -g pm2 命令行全局安装pm2
$ pm2 start app.js 启动app项目
$ pm2 list 列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。

上海时时乐走势图官网 9

image

$ pm2 monit 监视每个node进程的CPU和内存的使用情况

上海时时乐走势图官网 10

image

$ pm2 logs 显示所有进程日志
$ pm2 stop all 停止所有进程
$ pm2 restart all 重启所有进程
$ pm2 reload all 0秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0 停止指定的进程
$ pm2 restart 0 重启指定的进程
$ pm2 startup 产生 init 脚本 保持进程活着
$ pm2 web 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0 杀死指定的进程
$ pm2 delete all 杀死全部进程

运行进程的不同方式:
$ pm2 start app.js -i max 根据有效CPU数目启动最大进程数目
$ pm2 start app.js -i 3 启动3个进程
$ pm2 start app.js -x 用fork模式启动 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23 用fork模式启动 app.js 并且传递参数 (-a 23)
$ pm2 start app.js --name serverone 启动一个进程并把它命名为 serverone
$ pm2 stop serverone 停止 serverone 进程
$ pm2 start app.json 启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23 在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log 启动 并 生成一个配置文件

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

pm2 delete all #删除PM2列表中所有的进程

  1. 日志操作

高级用法

pm2支持配置文件启动:
pm2 ecosystem: 生成配置文件ecosystem.json
pm2 startOrRestart /file/path/ecosystem.json : 通过配置文件启动服务

如下是我开发时ecosystem.json的内容:

  {
    /**
    * Application configuration section
    * http://pm2.keymetrics.io/docs/usage/application-declaration/
    * 多个服务,依次放到apps对应的数组里
    */
    apps : [
    // First application
        {
            name      : "nova",
            max_memory_restart: "300M",
            script    : "/root/nova/app.js",
            out_file : "/logs/nova_out.log",
            error_file : "/logs/nova_error.log",
            instances  : 4,
            exec_mode  : "cluster",
            env: {
                NODE_ENV: "production"
            }
        }
    ]
 }

上述采用cluster模式启动了4个服务进程;如果服务占用的内存超过300M,会自动进行重启。

pm2 list

pm2 flush #Empty all log file

pm2 list #查看pm2进程,如下图:

[图片上传失败...(image-1f3f2c-1511349583307)]

七、备注
其他可参数见官网:http://pm2.keymetrics.io

====================================================================================================================

安装:npm install -g pm2

启动程序:pm2 start <app_name|id|all>

列举进程:pm2 list

退出程序:pm2 stop <app_name|id|all>

重起应用:pm2 restart

程序信息:pm2 describe id|all

监控:pm2 monit

实时集中log处理: pm2 logs

API:pm2 web (端口:9615 )

<pre>

pm2 reload all #重载PM2列表中所有的进程

pm2 show 0 或者 # pm2 info 0 #查看进程详细信息,0为PM2进程id

  1. 监控
2. 是否需要nginx

nginx可以做的事情主要有两个:

  1. 反向代理,实现简单的负载均衡: 如果有多台服务器或者一台服务器多个端口,可以考虑用nginx。

  2. 静态资源缓存:把一些静态资源(如静态页面,js等资源文件)放到nginx里,可以极大的提高服务的性能。

pm2 delete 0 #删除PM2列表中进程为0的进程

pm2 monit

  1. 停止

一些思考

pm2 start app.js --name my-api #my-api为PM2进程名称

pm2 stop 0 #停止PM2列表中进程为0的进程

  1. 重载

pm2 start app.js -i 0 #根据CPU核数启动进程个数

安装

npm install -g pm2

pm2 reloadLogs #Reload all logs

  1. 升级PM2

pm2 restart all #重启PM2列表中所有的进程

pm2 start test.json #启动,如下图:

[图片上传失败...(image-291475-1511349583307)]

1. 服务进程数

至于要启动几个进程,可以通过服务器的内核数进行确定,几个内核就启动几个服务。指令如下:

  # 查看物理CPU个数
  cat /proc/cpuinfo| grep "physical id" | sort| uniq | wc -l

  # 查看每个物理CPU中core的个数(即核数)
  cat /proc/cpuinfo| grep "cpu cores"| uniq

  # 查看逻辑CPU的个数
  cat /proc/cpuinfo| grep "processor"| wc -l

当然可以启动多个端口,一个端口号对应一个服务,这样的话就需要nignx来做负载均衡了。

cat > /data/wwwroot/nodejs/test.sh << EOF

!/bin/bash

while :
do
echo "Test" >> 1.log
sleep 5
done
EOF

<<编程基础-语言JavaScript.Nodejs.Mobile>>
https://github.com/openstf

pm2 restart 0 #重启PM2列表中进程为0的进程

  1. 删除PM2进程

npm install pm2@lastest -g #安装最新的PM2版本

pm2和forever是启动Nodejs服务常用到的两个工具。使用这两个指令可以使node服务在后台运行(类似于linux的nohup),另外它们可以在服务因异常或其他原因被杀掉后进行自动重启。 由于Node的单线程特征,自动重启能很大程度上的提高它的健壮性。
本文不对比两者工具优劣,只是结合自己的使用,简要介绍如何在工程部署时更好的使用pm2。

pm2 reload 0 #重载PM2列表中进程为0的进程

  1. 重启

监控工具

pm2的监控功能是其一大特色,它提供的监控服务Keymetrics monitoring 很酷炫,感兴趣的可以配置玩一下。

使用PM2来部署nodejs项目。

如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的。再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种。
使用场合:

  • supervisor是开发环境用。

  • forever管理多个站点,每个站点访问量不大,不需要监控。

  • pm2 网站访问量比较大,需要完整的监控界面。

配置pm2启动文件

在项目根目录添加一个processes.json:
内容如下:

{
  "apps": [
    {
      "name": "mywork",
      "cwd": "/srv/node-app/current",
      "script": "bin/www",
      "log_date_format": "YYYY-MM-DD HH:mm Z",
      "error_file": "/var/log/node-app/node-app.stderr.log",
      "out_file": "log/node-app.stdout.log",
      "pid_file": "pids/node-geo-api.pid",
      "instances": 6,
      "min_uptime": "200s",
      "max_restarts": 10,
      "max_memory_restart": "1M",
      "cron_restart": "1 0 * * *",
      "watch": false,
      "merge_logs": true,
      "exec_interpreter": "node",
      "exec_mode": "fork",
      "autorestart": false,
      "vizion": false
    }
  ]
}

说明:

  • apps:json结构,apps是一个数组,每一个数组成员就是对应一个pm2中运行的应用

  • name:应用程序名称

  • cwd:应用程序所在的目录

  • script:应用程序的脚本路径

  • log_date_format:

  • error_file:自定义应用程序的错误日志文件

  • out_file:自定义应用程序日志文件

  • pid_file:自定义应用程序的pid文件

  • instances:

  • min_uptime:最小运行时间,这里设置的是60s即如果应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量

  • max_restarts:设置应用程序异常退出重启的次数,默认15次(从0开始计数)

  • cron_restart:定时启动,解决重启能解决的问题

  • watch:是否启用监控模式,默认是false。如果设置成true,当应用程序变动时,pm2会自动重载。这里也可以设置你要监控的文件。

  • merge_logs:

  • exec_interpreter:应用程序的脚本类型,这里使用的shell,默认是nodejs

  • exec_mode:应用程序启动模式,这里设置的是cluster_mode(集群),默认是fork

  • autorestart:启用/禁用应用程序崩溃或退出时自动重启

  • vizion:启用/禁用vizion特性(版本控制)

可以通过pm2 start processes.json来启动。
也可以把命令写在package.json里。如下:

上海时时乐走势图官网 11

image

pm2 是一个带有负载均衡功能的Node应用的进程管理器.

当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。它非常适合IaaS结构,但不要把它用于PaaS方案(随后将开发Paas的解决方案).

备注:SaaS、PaaS和IaaS是云服务模式。
SaaS 软件即服务,例如Google的 Gmail 邮箱服务.面向应用型用户.
PaaS 平台即服务.例如Google的GAE,面向开发型用户
IaaS 基础架构即服务,例如亚马逊的AWS,IaaS对于不知道新推出的应用程序/网站会有多成功的创业公司来说非常有用

请参考
云服务模式:SaaS、PaaS和IaaS,哪一种适合你?

主要特性:

内建负载均衡(使用Node cluster 集群模块)

后台运行

0秒停机重载,我理解大概意思是维护升级的时候不需要停机.

具有Ubuntu和CentOS 的启动脚本

停止不稳定的进程(避免无限循环)

控制台检测

提供 HTTP API

远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )

测试过Nodejs v0.11 v0.10 v0.8版本,兼容CoffeeScript,基于Linux 和MacOS.

安装

npm install -g pm2

用法

$ npm install pm2 -g # 命令行安装 pm2

$ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js

                            # 也可以把'max' 参数传递给 start

                            # 正确的进程数目依赖于Cpu的核心数目

$ pm2 start app.js --name my-api # 命名进程

$ pm2 list # 显示所有进程状态

$ pm2 monit # 监视所有进程

$ pm2 logs # 显示所有进程日志

$ pm2 stop all # 停止所有进程

$ pm2 restart all # 重启所有进程

$ pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)

$ pm2 stop 0 # 停止指定的进程

$ pm2 restart 0 # 重启指定的进程

$ pm2 startup # 产生 init 脚本 保持进程活着

$ pm2 web # 运行健壮的 computer API endpoint (

http://localhost:9615

)

$ pm2 delete 0 # 杀死指定的进程

$ pm2 delete all # 杀死全部进程

运行进程的不同方式:

$ pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目

$ pm2 start app.js -i 3 # 启动3个进程

$ pm2 start app.js -x #用fork模式启动 app.js 而不是使用 cluster

$ pm2 start app.js -x -- -a 23 # 用fork模式启动 app.js 并且传递参数 (-a 23)

$ pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone

$ pm2 stop serverone # 停止 serverone 进程

$ pm2 start app.json # 启动进程, 在 app.json里设置选项

$ pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数

$ pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件

你也可以执行用其他语言编写的app ( fork 模式):

$ pm2 start my-bash-script.sh -x --interpreter bash

$ pm2 start my-python-script.py -x --interpreter python

0秒停机重载:

这项功能允许你重新载入代码而不用失去请求连接。

注意:

仅能用于web应用

运行于Node 0.11.x版本

运行于 cluster 模式(默认模式)

$ pm2 reload all

CoffeeScript:

$ pm2 start my_app.coffee #这就是全部

PM2准备好为产品级服务了吗?

只需在你的服务器上测试

$ git clone

https://github.com/Unitech/pm2.git

$ cd pm2

$ npm install # 或者 npm install --dev ,如果devDependencies 没有安装

$ npm test

pm2 list

列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。

|

上海时时乐走势图官网 12

image

|
| |

pm2 monit

监视每个node进程的CPU和内存的使用情况。

|

上海时时乐走势图官网 13

image

|

pm2 start app.js --watch #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload

  1. 查看进程

参考资料:

  1. pm2官网

  2. node-deploy-practice

  3. pm2监控

pm2是非常优秀工具,它提供对基于node.js的项目运行托管服务。它基于命令行界面,提供很多特性: 内置的负载均衡器等等,下面我们就一起来看看吧。

一、简介

pm2是一个带有负载均衡功能的应用进程管理器,类似有Supervisor,forever。

二、安装

Linux Binaries下载地址:https://nodejs.org/dist
cd oneinstack/src
wget https://nodejs.org/dist/v4.2.4/node-v4.2.4-linux-x64.tar.gz
tar xzf node-v4.2.4-linux-x64.tar.gz
cp node-v4.2.4-linux-x64/bin/node /usr/local/bin/
cp -R node-v4.2.4-linux-x64/lib/node_modules /usr/local/lib/
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
npm install pm2@latest -g #安装最新版本pm2模块
PS: 如果你的主机无法连接公网,先找到能连公网的主机安装上面的方法安装pm2,然后拷贝到你要安装的主机。拷贝如下目录:
/usr/local/bin/node
/usr/local/lib/node_modules
再创建相关软连接

三、PM2常用命令

假设你现在已经写好了一个app.js的文件,需要启动,你可以使用pm2进行管理

  1. 启动

本文由上海时时乐走势图发布于web前端,转载请注明出处:使用pm2自动化部署node项目上海时时乐走势图官网

您可能还会对下面的文章感兴趣: