node.js - ubuntu 上的 nodejs 默认文档

标签 node.js installation ubuntu-12.04 web-deployment

我正在进入新的领域。我根本不是 Linux 爱好者,但我从我的托管公司购买了一台专用服务器,运行 apache2 的 Ubuntu 12.0.4。我的域名成功解析到该服务器(基本 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");
  });

在我输入(术语?)并运行“node hello.js”后,我收到“服务器已启动”消息。但当我进入我的域时没有结果。如果我有一个index.html 页面,我会得到它的内容。如果我删除它,我会得到一个目录列表。

如何使 hello.js 成为站点默认文档?或者,更一般地说,如何设置入口点以使用此配置在 lve 服务器上运行 Node 站点?我可以编写 Node ,但部署比预期要困难一些。有人可以帮忙吗?

最佳答案

您所看到的是攻击 Apache 的结果。不是您的 Node.js 服务器。

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

$ PORT=8080 node hello.js

然后将浏览器指向:

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

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

只要您的服务器和本地计算机之间的防火墙没有阻止端口 8080,此操作就应该有效。

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

关于node.js - ubuntu 上的 nodejs 默认文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685875/

相关文章:

node.js - 安装 sails 时出现问题,需要长时间等待获取注册表

javascript - ExpressJS 后数据验证和强制数据类型

linux - bitrock 安装程序 - Linux 入门

ubuntu - 在 Ubuntu 12.04 上的 Nginx 中设置 iRedMail 管理站点

node.js - 如何升级 NodeJS Docker 容器?

javascript - 尝试从 Express JS 项目中的另一条路线调用现有路线时出现问题

c++ - 如何从源代码安装 boost 获得与从存储库安装 boost 相同的结果?

c# - Wix 隐藏命令行窗口

hadoop - 是否可以在 32 位 Ubuntu 12.04 中安装 CDH?

svn - 在颠覆中搬迁而不搬迁?