我有一个azure网站,其网址类似于:http://app.azurewebsites.net/。现在我的server.js文件包含以下代码:
var restify = require('restify');
function respond(req, res, next) {
res.send('hello ' + req.params.name);
next();
}
var server = restify.createServer();
server.get('/hello/:name', respond);
server.head('/hello/:name', respond);
server.listen(8080, function() {
console.log('%s listening at %s', server.name, server.url);
});
我已经提交了我的node_modules文件夹,其中包含restify依赖项。现在,当我点击http://app.azurewebsites.net:8080/hello/john时,我没有得到回复,只是查询了一次!
当我在调试窗口中点击http://app.azurewebsites.net/时,我看到:
2015-01-22T16:53:27 Welcome, you are now connected to log-streaming service.
restify listening at http://0.0.0.0:8080
我被困住了,不知道为什么我在浏览器中没有得到“你好约翰”作为回应。有人可以帮助我吗?
答案 0 :(得分:2)
这可能是因为您已明确将port
设置为8080
。
请改为:
var restify = require('restify');
var port = process.env.PORT || 8080;
function respond(req, res, next) {
res.send('hello ' + req.params.name);
next();
}
var server = restify.createServer();
server.get('/hello/:name', respond);
server.head('/hello/:name', respond);
server.listen(port, function() {
console.log('%s listening at %s', server.name, server.url);
});
请注意,我添加了port
变量并将其与server.listen(port, ...
答案 1 :(得分:1)
当我试图收听特定端口时,我遇到了同样的问题。
var port = process.env.PORT || 3000;
添加了port变量并在listen
方法中使用了它。
它解决了这个问题。