在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或将其设置为反向代理。