我想通过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
感谢您的帮助!
答案 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
}
}]
}