pm2 watch忽略不忽略文件/图像上传

时间:2019-04-05 21:51:14

标签: node.js ubuntu-16.04 multer pm2

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

我建立了一个生态系统,并围绕,观看,忽略,自动重置,连续输入法设置了不同类型的设置。我还尝试了cli代码行,它是“ sudo pm2 start server.js --ignore-watch“ / public / images”。我不确定如何正确地忽略Pm2。我也确保了在Myapp / public / images /

中有一个文件路径

我尝试了以下方法: Multer upload files with PM2 Expressjs pm2 ignore watch public/images folder https://pm2.io/doc/en/runtime/guide/ecosystem-file/ http://pm2.keymetrics.io/docs/usage/watch-and-restart/

我的文件结构:

    >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 /

中的目的地
destination: function (req, files, cb) {

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

据我所知,与官方示例的不同之处在于,您使用的是单引号',而所有这些都是"文件,因此他们使用的是双引号json。另外,您在第{p1>行上缺少,

"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
        }
    }]
}