我对在本地运行良好的快速应用程序有疑问
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,但找不到相关信息。
最佳答案
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 应用程序中工作的。此外,对于进一步的上下文,您可以在 server.js:104:9 events.js:72 粘贴未初始化选项中的行,如果您已经这样做了,您可以标记它们吗?据我所知,您的东西应该 可以工作。
关于openshift 上的 Node.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271618/