Linux下使用pm2部署node以及安装后command not found解决

作为一个java的后端,最近一直要部署前端node的服务端,和我配合的前端又是新来的,经常改一个问题打一个包过来,发来10几次,每次我都是按照以前nohup或者是screen来部署的。先要杀进程然后在部署,实在是麻烦。直到偶然看到pm2可以自动重启。准备尝试一下,但是安装完使用时发现command not found,一番尝试后,贴上我的解决过程。

首先,安装

npm install -g pm2


pm2 -v显示command not found


原因是没有将pm2加至环境变量中
先找到node的目录 可以用whereis node来查找

node: /usr/local/bin/node

这是本地环境变量的路径
cd /usr/local/bin 进入
ll  查看所有

lrwxrwxrwx 1 root root      43 Jul  6 09:49 node -> /usr/nodejs/node-v8.11.3-linux-x64/bin/node
lrwxrwxrwx 1 root root      42 Jul  6 09:49 npm -> /usr/nodejs/node-v8.11.3-linux-x64/bin/npm

这就找到了node的目录 /usr/nodejs/node-v8.11.3-linux-x64/bin
cd /usr/nodejs/node-v8.11.3-linux-x64/bin 进入目录

node  npm  npx  pm2  pm2-dev  pm2-docker  pm2-runtime

发现pm2就在其中

将pm2加至本地的环境变量
ln -s /usr/nodejs/node-v8.11.3-linux-x64/bin/pm2 /usr/local/bin


[root@izbp171vm9829r4ns74pc7z bin]# pm2 -v
3.0.4

完成

在需要部署的文件目录中使用

pm2 start server.js --watch

--watch参数是监测node文件,如果被更改来了会自动重启,终于不需要每次杀进程部署了。。

pm2 list 查看部署的node进程

[root@izbp171vm9829r4ns74pc7z ~]# pm2 list
┌────────┬──────┬────────┬───┬─────┬───────────┐
│ Name   │ mode │ status │ ↺ │ cpu │ memory    │
├────────┼──────┼────────┼───┼─────┼───────────┤
│ server │ fork │ online │ 4 │ 0%  │ 39.3 MB   │
└────────┴──────┴────────┴───┴─────┴───────────┘
 Use `pm2 show ` to get more details about an app


 

你可能感兴趣的:(linux)