首页 > 解决方案 > pm2 watch ignore不忽略文件/图片上传

问题描述

我想通过 Ubuntu 16.04 使用 node(11.10.1)、pm2(3.4.0) 上传图像。像许多其他尝试过的人一样,我可以通过节点进程从启动服务器接收图像,但是一旦我使用 PM2 上传图像,PM2 重新启动服务器并且没有上传图像。

我创建了一个生态系统并设置了不同类型的设置,例如,观看、忽略、自动重置、cwd。我还尝试了 cli 代码行,它是“sudo pm2 start server.js --ignore-watch”/public/images”。我不确定如何以正确的方式忽略 Pm2。我也确保我这样做了在 Myapp/public/images/ 有一个文件路径

我尝试了以下方法: Multer 使用 PM2 Expressjs 上传文件 pm2 忽略 watch public/images 文件夹 https://pm2.io/doc/en/runtime/guide/ecosystem-file/ http://pm2.keymetrics.io/docs /用法/监视和重启/

我的文件结构:

    >MyApp 
       >ecosystem.config.js 
       >server.js  
       >public 
          >images
       >routes

这是我的生态系统

  'apps' : [{
    'name': 'pm2_checking_server',
    'script': 'server.js',
    'cwd': '/var/www/MyApp/'//........also tried it without cwd
    'watch': ['server.js'], //...........I also did true/false
    'ignore_watch': ['public/images/'],//...did variations like ./public/images, public/images... etc
    'watch_options': {
     'followSymlinks': false
    }
}],

这是我在 MyApp/routes/ 中的 multer 目的地

destination: function (req, files, cb) {

      cb(null, path.join(__dirname , '../public/images'))
}

我希望 Pm2 忽略观看文件上传,但我从上传图像得到的响应是“errno”:-13,“code”:“EACCES”,“syscall”:“open”,“path”:“/var /www/MyApp/public/images/7ylxlncRKJ

谢谢您的帮助!

标签: node.jsubuntu-16.04multerpm2

解决方案


据我所见,与官方示例的区别在于您使用的是单引号,而毕竟这是一个文件',他们使用了双引号。您还缺少一个at 行:"json,

"cwd": "/var/www/MyApp/",

删除尾随/public/images/

所以这是你的process.json文件,应该在你的项目的根目录下:

{
    "apps": [{
        "name": "pm2_checking_server",
        "script": "server.js",
        "cwd": "/var/www/MyApp/",
        "watch": ["server.js"],
        "ignore_watch": ["public/images"],
        "watch_options": {
            "followSymlinks": false
        }
    }]
}

推荐阅读