因为要部署应用的机器没有公网连接,所以直接npm install pm2是不可能了, 简单记录一下怎么离线安装pm2
首先,找一台可以在线安装pm2的机器
执行 npm install pm2 -g 安装pm2
执行 npm config get prefix, 看一下这台机器的npm默认全局安装目录在哪,然后去这个目录下面的 lib/node_modules/下就能看到你刚刚安装的pm2程序;例如如果显示 /usr/local/node, 则去 /usr/local/node/lib/node_modules/下面找到pm2
执行tar czvf pm2.tar.gz pm2/ 命令, 把pm2打包,在这里打包的好处,是因为该目录下面已经包含了pm2依赖的所有node模块
把打出来的包,通过内网传送到要部署的服务器上
登录部署服务器
同样执行 npm config get prefix 看一下这台服务器的npm默认安装目录, 例如目录为 /usr/local/node
执行命令 cd /usr/local/node/lib/node_modules/
拷贝你的 pm2.tar.gz 到该目录下
tar xvf pm2.tar.gz
到这一步,你已经可以使用 /usr/local/node/lib/node_modules/pm2/bin/pm2 执行pm2的命令了, 下面就是把这个命令加到系统环境中
cd /usr/bin
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2 pm2
这样,就可以直接使用pm2命令来各种操作了
ps:其实往部署服务器上复制pm2时,你可以复制到任何目录中都是可以的,但是为了大家好维护,还是放在约定的目录下比较好