最近在公司给客户部署服务器的时候,用npm安装pm2非常慢,在线安装浪费了很长时间,于是就自己做了一个pm2的离线安装包,以后自己上传到服务器上解压就行了。
先放上我的离线安装包地址,链接:http://pan.baidu.com/s/1jHNA6Uy 密码:7ucn
由于我是从我自己的虚拟机上直接打包了一份原来的v1.1.3版本的,所以如果你嫌版本比较老的话就不要下了,自己打包一个即可。
下面说说如何打包你的pm2(适用于所有打包)。以下均以centos6.6为例。
如果你是用npm安装你的node模块的话,一般我们的程序位于/usr/local/lib/node_modules目录,这个目录下存放了你的npm安装的node模块,如果你不确定的话,可以执行npm config get prefix命令来查看你的npm将模块安装到了那里。我的这个目录下就有一个pm2的目录。
找到这个目录以后我们直接将这个目录打包。执行tar czvf pm2.tar.gz pm2即可将这个目录打包好。
打包好以后就赶紧存起来吧,用的时候直接FTP上传到你的服务器上。
那我们最好还是将这个压缩包解压到我们的/usr/local/lib/node_modules目录。当然其他目录也是可以的,只要方便你的管理即可。
接下来我们需要执行一个软链操作,使我们可以在服务器中直接使用pm2命令:
ln -s /usr/local/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2
其实就是将我们刚才解压出来的pm2下面的bin目录下的pm2可执行文件添加到系统的命令当中去。大家根据自己的实际目录修改命令即可。
软链也完成了,可以在你的服务器上开心的使用pm2的命令啦!
附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 # 杀死全部进程