簡體   English   中英

使用ubuntu upstart啟動時,節點js multer文件上傳不起作用

[英]node js multer file upload not working when started with ubuntu upstart

我有一個VPS(ubuntu 14.04)和一個帶有multer的nodejs應用,用於處理程序文件上傳,當我通過節點ex。“ node my-server.js”啟動服務器時,它可以正常工作

但是如果我是通過upstart ex啟動的,則不是。“ sudo start node-app” node-app是一個ubuntu upstart conf文件,這里是代碼

我在這里使用express的multer是代碼。 我-server.js

app.use(multer({
  dest: './public/images/',
  rename: function(fieldname, filename) {
    return filename;
  }
}));

我的新貴文件:/etc/init/node-app.conf

description "node.js server"
author      "Name"

start on (local-filesystems and net-device-up IFACE=wlan0)

stop on shutdown

# Automatically Respawn:
respawn
respawn limit 99 5

script
    export HOME="/home/username/www/site-server/"
    exec node $HOME/bin/www 13002 >> /var/log/node.log 2>&1
end script

在我的node.log上,我有這個。

{ [Error: Command failed: identify.im6: unable to open image `/home/username/www/my-node-app/public/images/hqdefault.jpg': No such file or directory @ error/blob.c/OpenBlob/2638.
] timedOut: false, killed: false, code: 1, signal: null }

知道為什么不通過暴發戶工作嗎?

它需要能夠將上傳的文件寫入磁盤,因此它可能沒有寫目標目錄的權限。

確保新貴通過有權訪問您在multer中配置的上載目錄的用戶帳戶運行它。

正如@porneL所說,ubuntu用戶需要在磁盤上寫權限,因此我更改了upstart文件。

由此。

export HOME="/home/username/www/site-server/"
exec node $HOME/bin/www 13002 >> /var/log/node.log 2>&1

對此

export HOME="/home/username/www/"
cd $HOME/site-server/
exec node bin/www >> /var/log/node.log 2>&1

是我找到答案的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM