pm2 管理 yapi 无限重启问题解决

07-08 17:54 字数 1000 阅读 381

使用pm2管理yapi项目时,发现启动成功后无法访问,查看pm2log发现是因为api的日志变更导致node服务重启。

log

猜测原因可能是因为启动的命令是

pm2 start server/app.js --watch

根据文档说明 --watch会一直监听项目文件,如果项目文件发生变化,会自动重启服务,所以log文件的变更导致一直重启的问题。

解决方法

在项目目录执行下面的命令生成启动配置文件

pm2 ecosystem
vim ecosystem.config.js

将文件内容内修改如下

module.exports = {
  apps : [{
    name: 'YAPI',
    script: 'vendors/server/app.js',

    // Options reference: https://pm2.keymetrics.io/docs/usage/application-declaration/
    // args: 'one two',
    // instances: 1,
    autorestart: true,
    watch: true,
    max_memory_restart: '500M',
    env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    },
    //输出console.error以及console.log
    error_file: "pm2logs/err.log",
    out_file: "pm2logs/out.log",
    log_date_format: "YYYY-MM-DD HH:mm:ss:S Z",
    ignore_watch : "log",  //添加这个参数,忽略监听log文件夹
  }]
};

注意

因为在启动配置文件中指定了 error_fileout_file,所以需要先把 pm2logs目录创建好,要不然第一次启动可能会失败。

停止之前的项目

pm2 stop 0

启动本项目

pm2 start ecosystem.config.js

查看正在运行的项目

pm2 list

正在运行的项目

1人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论
站长 @ 十七度
文章
350
粉丝
23
喜欢
176
收藏
23
排名 : 1
访问 : 75.51万
私信