在Ubuntu上的nodejs默认文档

我正在这里进入新的领域。 不是一个Linux的家伙,但我从我的托pipe公司,Ubuntu 12.0.4运行apache2收购了一个专用的服务器。 我有我的域名成功parsing到该服务器(基本的HTML'你好世界'索引页显示正常)。

我已经安装了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"); }); 

在我putty(term?)后运行“node hello.js”,我得到了“Server Started”消息。 但是,当我去我的域名没有结果。 如果我有一个index.html页面,我得到它的内容。 如果我删除它,我得到一个dir列表。

如何使hello.js的网站默认文档? 或者,更一般地说,我如何设置入口点以使用此configuration在lve服务器上运行节点站点? 我可以编写节点,但是部署却比预期的要困难得多。 谁能帮忙?

你看到的是打Apache的结果。 不是你的Node.js服务器。

尝试从命令行启动您的服务器:

 $ PORT=8080 node hello.js 

然后将您的浏览器指向:

 http://www.youdomain.com:8080/ 

这将在端口8080上启动你的node.js进程。app.listen的第一个参数是process.env.PORT ,它是你在命令行上用上面的命令设置的一个环境variables。

只要您的服务器和本地计算机之间的防火墙没有阻塞端口8080,就应该可以工作。

如果您希望Node.js能够在标准端口80上为您的整个网站供电,那么您需要先禁用Apache或将其设置为反向代理。