使用pm2离线部署nodejs项目

1、下载https://npm.taobao.org/mirrors/node/v8.11.1/node-v8.11.1-linux-x64.tar.xz  
比如安装到/opt目录 
xz -d node-v8.11.1-linux-x64.tar.xz //解压 
tar -vxf node-v8.11.1-linux-x64.tar //解压 
ln -s /opt/node-v8.11.1-linux-x64/bin/node /usr/local/bin/node //创建软连接 
ln -s /opt/node-v8.11.1-linux-x64/bin/npm /usr/local/bin/npm //创建软连接 
 
2、安装pm2  
npm install pm2 -g  // 在有网络的地方下载pm2并全局安装 
npm config get prefix  //找到pm2的全局安装位置 
在C:\Users\Administrator\AppData\Roaming\npm\node_modules
目录里找到pm2, 运行bash打个tar包,tar -cvzf pm2,zip压缩也可 
 
登陆linux,同样运行npm config get prefix  
把刚才的pm2包 拷贝到 /opt/node-v8.11.1-linux-x64/lib/ node_modules/ 下面
tar -zxvf pm2.tar.gz 解压pm2包,如果是zip包,unzip -d pm2.zip进行解压
ln -s /opt/node-v8.11.1-linux-x64/bin/lib/node_modules/pm2/bin/pm2 /usr/local/bin/pm2
 
3、安装nodejs web包
以vue-cli 打包生成的默认目录为例 

+ dist
        + static
          index.html

在该目录添加一个pm2配置文件 ecosystem.config.js
        module.exports = {
            apps : [{
                name        : "worker",
                script      : "./app.js",//node入口程序
                watch: ["监控的目录", "监控的目录"],
                env: {
                    "NODE_ENV": "development"
                },
                env_production : {
                    "NODE_ENV": "production"
                }
            }]
        }  

直接用pm2去启动node服务 pm2 start ecosystem.config.js
当监控的目录文件有变动会自动重启node服务