yapi二开Linux部署遇到的问题

742 阅读2分钟

1、linux全局安装pm2

linux安装nodejs后,

全局安装pm2:

npm install -g pm2

提示:

pm2 install gives WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher.

尝试安装最新的npm

npm install uuid@latest -g

还是一样的提示

最后无奈尝试 Linux 离线安装pm2

然后建立pm2到node的软链接:

ln -s /app/pm2/bin/pm2 /opt/node/bin/pm2

此时,

我发现,其实我的node/bin 文件夹中已经有 pm2,虽然提示:

pm2 install gives WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher.

但其实pm2是已经安装成功的,所以,其实是不用该离线安装啦~。


2、找不到pm2命令

但是运行 pm2 -v

报错:找不到pm2命令

解决:Linux 下安装pm2后找不到pm2命令解决方法

使用以下命令将pm2放入系统路径下就可以了:

ln  -s  /home/soft/elk/node-v8.11.3-linux-x64/bin/pm2  /usr/local/bin/

3、pm2持久化部署以及管理

在项目文件根目录执行以下命令,启动服务,并自命名和监控:

pm2 start  ./server/app.js --name="Yapi"  --watch

保存到列表:

pm2 save

设置开机自启动:

pm2 startup

网页访问 xx.xxx.xx.xxxx:3000/ 网页加载成功啦~

然而,

关闭服务窗口后,网页就连接失败了~~


4、服务窗口关闭,服务就停止

再次打开服务窗口,执行:

pm2 list

提示:

[PM2][WARN] Current process list running is not in sync with saved list. Type 'pm2 save' to synchronize or enable autosync via 'pm2 set pm2:autodump true'

提示当前运行的进程列表与保存的列表不同步,根据提示执行命令保持同步,输入“pm2 save”以通过“pm2 set pm2:autodump true”进行同步或启用自动同步

所以,先执行:

pm2 set pm2:autodump true

重新启动服务,并自命名和监控:

pm2 start  ./server/app.js  --name="Yapi"  --watch

保存到列表:

pm2 save

设置开机自启动:

pm2 startup

关闭服务窗口后,网页正常加载,达到pm2持久化部署以及管理!


5、pm2 startup生成自启动脚本指令不支持windows的自动启动

补充:

在本地的windows环境下测试时,发现:

pm2 startup生成自启动脚本指令不支持windows的自动启动,

目前比较通用的方案是,使用其他库生成自启动脚本,如:pm2-windows-startup

npm install pm2-windows-startup -g

pm2-startup install