无法在SmartOS上使用SMF为Node设置blueimp jquery上传服务器

我在Joyent云SmartOS SmartMachine(nodejs 13.1.0)实例上设置了一个节点blueimp jqueryfile upload服务器 。

它工作正常,如果我手动启动它使用命令./node_modules/blueimp-file-upload-node/server.js。

但是,如果使用SMF启动它,服务器能够回复GET并传递图片,但不能接受POST并中断。 以下是模板清单,客户端和服务器错误日志。 任何帮助我如何创build清单,以允许接受POST非常感谢。

所有在浏览器POST中显示的常见错误

Request URL: http://sub1.mydomain.com:8888/node_modules/blueimp-file-upload-node/server.js Request Headers CAUTION: Provisional headers are shown. Accept: application/json, text/javascript, */*; q=0.01 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary4x1QBIUsPyFwN0xP Origin: http://sub1.mydomain.com Referer: http://sub1.mydomain.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.19 Safari/537.36 Request Payload ------WebKitFormBoundary4x1QBIUsPyFwN0xP Content-Disposition: form-data; name="send-message" ------WebKitFormBoundary4x1QBIUsPyFwN0xP Content-Disposition: form-data; name="files[]"; filename="84a0ff8ef9ba11e1afba1231380fc0f9_7.jpg" Content-Type: image/jpeg ------WebKitFormBoundary4x1QBIUsPyFwN0xP-- 

SMFperformance出来的只是每个案例的第一个案例后的变化:

SMF以root身份显示 – no exec / local / bin / node

 <service_bundle type="manifest" name="kamkam"> <service name="site/kamkam-service" type="service" version="1"> <create_default_instance enabled="true"/> <single_instance/> <dependency name="network" grouping="require_all" restart_on="refresh" type="service"> <service_fmri value="svc:/milestone/network:default"/> </dependency> <dependency name="filesystem" grouping="require_all" restart_on="refresh" type="service"> <service_fmri value="svc:/system/filesystem/local"/> </dependency> <method_context working_directory="/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node"> <method_credential user="root"/> <method_environment> <envvar name="PATH" value="/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin"/> <envvar name="HOME" value="/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node"/> <envvar name="NODE_ENV" value="production"/> </method_environment> </method_context> <exec_method type="method" name="start" exec="/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/server.js" timeout_seconds="60"/> <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60"/> <property_group name="startd" type="framework"> <propval name="duration" type="astring" value="child"/> <propval name="ignore_error" type="astring" value="core,signal"/> </property_group> <property_group name="application" type="application"> </property_group> <stability value="Evolving" 

与根用户错误NO / opt / local / bin / node在exec

 /home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload- node/node_modules/formidable/lib/incoming_form.js:28 this.uploadDir = opts.uploadDir || os.tmpDir(); ^ TypeError: Object #<Object> has no method 'tmpDir' at new IncomingForm (/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload- node/node_modules/formidable/lib/incoming_form.js:28:41) at [object Object].post (/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/server.js:211:20) at Server.<anonymous> (/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/server.js:134:25) at Server.emit (events.js:67:17) at HTTPParser.onIncoming (http.js:1124:12) at HTTPParser.onHeadersComplete (http.js:108:31) at Socket.ondata (http.js:1019:22) at Socket._onReadable (net.js:683:27) at IOWatcher.onReadable [as callback] (net.js:177:10) 

SMF以pipe理员权限显示

 <method_credential user="admin" group="staff" privileges="basic,net_privaddr,file_chown,file_chown_self,file_dac_read,file_dac_search,file_dac_write,file_owner"/> exec="/opt/local/bin/node /home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/server.js" 

与pipe理员的所有文件权限错误

 events.js:72 throw er; // Unhandled 'error' event ^ Error: EACCES, open '/home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/tmp/09008ecbfafd1c3570eff7ae0ae52fa8' [ Nov 25 15:41:29 Stopping because all processes in service exited. ] 

SMF以exec身份使用/ opt / local / bin / node作为根目录显示

 <method_credential user="root"/> exec="/opt/local/bin/node /home/projects/egoer/sub1.mydomain.com/node_modules/blueimp-file-upload-node/server.js" 

与根用户错误 – 在exec中使用/ opt / local / bin / node

 events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn ENOENT at errnoException (child_process.js:975:11) at Process.ChildProcess._handle.onexit (child_process.js:766:34) [ Nov 25 16:00:16 Stopping because all processes in service exited. ]