我刚刚开始使用 Node.js,我遇到了一个问题,我只能在本地访问我的 Node 服务器。我在这里松散地遵循教程:http: //coenraets.org/blog/2012/10/creating-a-rest-api-using-node-js-express-and-mongodb/。
我将代码托管在 Apache 服务器共享上,尽管我已经让它在我的 win7 机器上本地运行。服务器共享托管实例运行良好,我可以用 lynx 在本地 ping 它,它运行良好。但是,当我尝试通过 hostname.com:3001 或 hostname.com:3001/wines 远程访问实例时,它只是超时。我的服务器日志显示该端口上的传入连接,但它似乎没有通过实例。
我尝试将实例从我的 Node 开发目录移动到 www 目录,认为这是一个权限问题,但这并没有帮助。我完全不熟悉使用 Apache,所以我可能缺少某种基本权限设置。该共享托管在 bluehost 上,物有所值。我检查了管理员设置,但找不到任何会阻止该端口的防火墙。
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
app.get('/', function(req, res){
console.log('ping');
});
app.get('/wines', function(req, res){
console.log('req @ /wines');
res.send([{name:'wine1'},{name:'wine2'},{name:'wine foo'}]);
});
server.listen(3001);
console.log('listening to port ', server.address().port);