【发布时间】:2013-09-13 23:56:28
【问题描述】:
我有一个运行 Ubuntu 12.04 的 EC2 实例。我已经安装了 nodejs 和 mongo。这个实例也有一个分配给它的 IP 地址。
我想让我的应用程序(nodejs 应用程序)从连接到本地 mongo db 的目录(比方说 /var/www/node/my_app)运行(我已经手动安装了 db,它不是来自亚马逊市场,但是这是出于开发/测试目的,因此目前性能不是问题)。然后我希望有一个与 IP 地址链接的域(这是通过我的域提供商完成的并且已经准备好)又链接到我的应用程序(从 /var/www/node/my_app 运行)所以当我去 www .mydomain.com 我会看到我的应用在我的网络浏览器上运行。
我还希望能够从 /var/www/node/my_app2 运行另一个应用程序,该应用程序可以通过另一个域或子域(例如 app2.mydomain.com)访问。
我可以使用 PHP/MySQL/Webmin/Apache 轻松完成所有这些工作。我需要做的就是将我的应用程序放在特定文件夹中,并让 webmin 管理/创建指向特定域/子域的虚拟主机。
我的问题是:有人可以逐步向我解释(或将我指向教程/站点/文档)如何使用节点进行相同的设置吗?我知道这可能意味着安装其他软件(例如 nginx)?
背景:我已经阅读了很多关于如何从 node 开始的教程,其中解释了如何在本地机器上安装 node,创建服务器来监听端口(例如 8080)以及如果我访问http://localhost:8080 on我的本地计算机可以工作(是的,我已经尝试过并且确实可以工作)但是我无法在我的 EC2 上复制它。更不用说我宁愿不使用 www.mydomain.com:8080(例如),而是希望能够从同一个域(使用子域)运行多个应用程序。
谁能帮忙?
非常感谢
【问题讨论】:
-
这个问题太宽泛了。您要求某人为您进行谷歌搜索,而您可以自己进行。不要期望立即找到答案,而是要有耐心并继续努力了解事情的运作方式、相关性以及如何前进。
-
运行新实例,运行
yum update -y,然后按照官方指南将 mongodb 安装为服务和 node.js(在 Linux 上正常安装)。然后使用 npm (npm install) 安装 express.js 和 mongodb,并遵循 express.js 的第一个示例。这里没有错误的方法。官方资源上的在线教程和指南都有很好的文档记录,涵盖了任何可能的场景。在 EC2 上设置 node.js,google 在第一页有大约 5 篇文章和教程。遇到问题是正常的 - 只要能够理解它们并解决问题。 -
不,我不希望任何人为我做任何谷歌搜索。我的主要问题是这种方法是否真的可以通过这种设置实现。我还没有找到一个教程来详细解释如何从单个节点框运行多个应用程序/站点(具有不同的域)。我看不出这个问题太宽泛了,因为我有一组非常具体的要求,我想知道这是否可能。
-
对于多个域,使用 nginx 作为代理。请记住,它会导致代理 websockets 流量的复杂性(需要下载和重新编译),但可以满足大多数需求。或者使用任何流行的 node.js 代理管理模块来根据域名将流量代理到不同的进程。
标签: node.js mongodb amazon-ec2