saltstack 远程执行 nodejs 问题

saltstack 远程执行 nodejs 问题

1.用salt远程执行nodejs,报错/usr/bin/env: node: No such file or directory

解决:

在nodejs服务器上,将环境变量软连接到/usr/local/bin/

#ln -s /root/.nvm/versions/node/v8.11.3/bin/* /usr/local/bin/

2.接着可以运行命令,但是看不到运行的进程

 

 

不同的PM2_HOME下看到的进程不一样,直接在 linux 命令行下启动的进程的在 /root/.pm2 下的,saltstack 启动的进程是在 /etc/.pm2 下的

解决:让进程都运行在 /etc/.pm2

1)将/root/.pm2环境改为/etc/.pm2

#cat > /etc/profile.d/nodejs.sh <<eof

export NODEJS_HOME=/root/.nvm/versions/node/v8.11.3
export PATH=$PATH:$NODEJS_HOME/bin
export PM2_HOME=/etc/.pm2/

eof

2)删除原先pm2应用

#pm2 delete all

3)声明环境变量

#source /etc/profile

 4)用/etc/.pm2新环境启动nodejs应用

#cd /opt/data/www

#pm2 start -i max --max-memory-restart 512000000 npm --name 'www.uu898' -- run pro

5)查看nodejs和端口是否启动正常

 

 6)使用salt远程执行nodejs命令

posted @ 2020-01-07 17:23  yang-leo  阅读(212)  评论(1)    收藏  举报