我遇到了一个在本地运行良好的快速应用程序的问题
node server.js
但在openshift上有这个错误:
...
Uninitialized option at server.js:104:9 events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EACCES
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1020:19)
...
我已经明白这会是我的.createServer()。listen实现的问题。 我的代码是:
var express = require('express');
var path = require('path');
....//I cut code from here..Bunch of middleware..
var https = require('https');
var http = require('http');
....//My routes were here...
var app = express();
//HTTP
var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
http.createServer(app).listen(server_port);
var ssl = {
key: fs.readFileSync('keys/key.pem'),
cert: fs.readFileSync('keys/cert.pem')
};
https.createServer(ssl, app).listen(443);
我也想工作ssl,但我找不到相关的信息。
答案 0 :(得分:4)
server = require('http').createServer(app)
port = process.env.OPENSHIFT_NODEJS_PORT || 8080
ip = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
server.listen(port, ip);
过去一直对我有用。我不完全有信心重新排列你必须匹配的东西(因为你的东西几乎完全相同),但它是如何在我当前的nodejs app中运行的。另外,对于进一步的上下文,您可以粘贴来自server.js:104:9 events.js:72的Uninitialized选项中的行,如果您已经这样做了,您可以标记它们吗?从我可以看到你的东西应该工作。