在Node.js服务器上运行的项目:
我在这里疯了。我无法弄清楚为什么我在完成Open Shift指示的操作时会收到503错误。
Server.js:
var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
server.listen(server_port, server_ip_address, function(){
console.log("Listening on " + server_ip_address + ",
server_port " +server_port);
});
的package.json:
{
"scripts": {
"start": "supervisor server.js"
},
"main": "server.js"
}
我已经查看了我的日志和所有内容,并且它说服务器上的第5行存在问题。怎么会这样?我疯了,还是我错过了什么? NPM模块已清除,应用程序表示没问题。
这不是另一篇文章的复制品,因为我已经做了所有这些。
服务器日志跟踪错误:
ReferenceError: server is not defined
at Object.<anonymous> (/var/lib/openshift/550764f6e0b8cd8a8a00007e/app- root/runtime/repo/server.js:4:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
DEBUG: Program node server.js exited with code 8
DEBUG: Starting child process with 'node server.js'
/var/lib/openshift/550764f6e0b8cd8a8a00007e/app- root/runtime/repo/server.js:4
server.listen(server_port, server_ip_address, function(){
^
我不知道发生了什么事。我不断得到一个服务器是未定义的问题,从我能看到的一切都正确完成。
答案 0 :(得分:2)
您在第5行的末尾打开了一个字符串,但您从未关闭它。将其更改为
var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1'
server.listen(server_port, server_ip_address, function(){
console.log("Listening on " + server_ip_address
+ ", server_port " + server_port);
});
你应该好好去
答案 1 :(得分:1)
如果这就是你的文件实际看起来的样子,看起来你错过了一大堆代码:
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
var http = require('http');
var server = http.createServer(function(request, response) {
console.log((new Date()) + ' Received request for ' + request.url);
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write("Welcome to Node.js on OpenShift!\n\n");
response.end("Thanks for visiting us! \n");
});
server.listen( port, ipaddress, function() {
console.log((new Date()) + ' Server is listening on port 8080');
});
该快速入门引用了该代码:https://github.com/openshift-quickstart/openshift-nodejs-http-and-websocket-example/blob/master/server.js
引用server.js也包含一些websocket代码,但你可以忽略它(除非你想使用它,那也很好)