我在这里进入了新领域。根本不是linux的人,但我从我的托管公司Ubuntu 12.0.4运行apache2获得了一个专用服务器。我的域名已成功解析到该服务器(基本的html' Hello World'索引页面显示正常)。
我已经安装了npm,node和express,他们(尽我所知)正常工作。我已将此应用添加到根目录为' hello.js':
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.write("Hello World");
res.end();
});
app.listen(process.env.PORT, function(){
console.log("Server Started");
});
我把腻子放进(术语?)并运行节点hello.js'我得到了“服务器启动”#39;信息。但是当我进入我的域名时没有结果。如果我有一个index.html页面,我会得到它的内容。如果我删除它,我会得到一个目录列表。
如何让hello.js网站默认使用doc?或者,更一般地说,如何设置入口点以使用此配置在lve服务器上运行节点站点?我可以编写节点,但部署结果比预期的要困难得多。有人可以帮忙吗?
答案 0 :(得分:1)
您所看到的是击中Apache的结果。不是你的Node.js服务器。
尝试从命令行启动服务器:
$ PORT=8080 node hello.js
然后将浏览器指向:
http://www.youdomain.com:8080/
这将在端口8080上启动node.js进程.app.listen的第一个参数是process.env.PORT
,它是一个环境变量,您可以使用上面的命令在命令行上进行设置。 / p>
只要您没有在服务器和本地计算机之间的防火墙中阻止端口8080,这应该可以正常工作。
如果您希望Node.js在标准端口80上为整个网站供电,那么您需要先禁用Apache或将其设置为反向代理。