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命令


浙公网安备 33010602011771号