1

VPS(ubuntu 14.04)と、ハンドラファイルアップロード用のmulterを備えたnodejsアプリがあり、ノードex.「node my-server.js」を介してサーバーを起動すると、機能します

しかし、upstart ex."sudo start node-app" node-app は ubuntu upstart conf ファイルであり、ここにコードがあります。

ここでexpressで使用するmulterはコードです。my-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 }

なぜupstart経由で動作しないのですか?

4

2 に答える 2

0

アップロードされたファイルをディスクに書き込める必要があるため、宛先ディレクトリに書き込む権限がない可能性があります。

multer で構成したアップロード ディレクトリへのアクセス権を持つユーザー アカウントから upstart が実行されることを確認します。

于 2015-04-18T11:00:59.083 に答える