如何在一个 EC2 实例上运行多个应用程序

2023-12-21

我有几个小型生产站点和一堆有趣的爱好者/实验应用程序等。我想在一个 EC2 实例上运行所有这些。

我可以安装一次node.js、npm、express 和 couchdb,然后在不同的端口上运行每个应用程序,并调整我的域注册表中的 dns 设置以指向适当的位置吗?

Update:谢谢迈克!对于在 EC2 上寻找多个 IP 地址的其他人:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html


有多种方法可以解决这个问题。

不同端口

您可以在不同的端口上运行每个 Node.js 进程,然后简单地向世界开放端口。但是,您的 URL 需要在每个项目的主机名末尾有一个端口。yoururl.com:8080/从技术上讲是可行的,但可能不是您想要的。

多个IP地址

您可以在一个 EC2 实例上使用多个 IP 地址,但是,每个 IP 地址的额外费用约为每月 3.65 美元。因此,如果您想要在一个实例上托管 10 个不同的域,那么每月需要额外支付 30 美元以上的托管费用。

另一方面,任何使用 SSL 的域都需要有自己的 IP 地址。

另外,还有IP 地址数量限制 http://aws.amazon.com/about-aws/whats-new/2012/07/06/multiple-ip-addresses-for-amazon-ec2-instances-in-amazon-vpc/您可以分配给一个实例,实例越小,您获得的 IP 地址就越少。

您可以分配的 IP 地址数量因实例类型而异。小型实例最多可容纳 8 个 IP 地址(跨 2 个弹性网络接口),而高内存四倍超大型和集群计算机八个超大型实例最多可分配 240 个 IP 地址(跨 8 个弹性网络接口)。有关 IP 地址和弹性网络接口限制的更多信息,请参阅 Amazon EC2 用户指南中的实例系列和类型。

快速虚拟主机

Express 具有虚拟主机功能。您可以在一台 Node.js/Express 服务器下运行多个域,并根据域名设置路由。vhost在 Express 下启用此功能。

反向代理

您可以在多个应用程序服务器前面设置 Nginx。这样的灵活性最大。每个域可以有一个 Node.js 进程,这样您可以一次在一个域上进行更新和重新启动。它还允许您在 Node.js 进程旁边的同一 EC2 实例下托管应用程序服务器,例如 Apache/PHP。

使用 Nginx 作为反向代理,您还可以在同一域下托管不同的应用程序服务器,但提供不同的路径。

例如,Node.js 可以提供域的主根路径,但您可以设置/blog/前往同一 EC2 实例上的 Apache/PHP/Wordpress 设置的路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在一个 EC2 实例上运行多个应用程序 的相关文章

随机推荐

  • 如何从需要 return 语句的 GraphQL 解析器中调用异步 node.js 函数?

    上提供的 Hello World 示例graphql org graphql js http graphql org graphql js创建一个简单的 GraphQL 实现如下 var graphql buildSchema requir
  • JavaScript Async=true 属性

    我在某个未命名供应商的文档中看到了此代码示例 它似乎异步加载脚本 然后从中调用函数 我意识到 if undefined 检查将防止出现明显的错误 但这不是完全错误的吗 我相信在 IE8 9 中它会正常工作 但会阻止执行 直到 LOADER
  • 如何使用 Provider 将 ChangeNotifier 的范围限定到某些路由?

    我有一个 ChangeNotifier 我想在多个路由之间共享它 但不all routes Page1 是我的第一页 我只需要与 Page2 Page3 和 Page 共享 ChangeNotifierProvider 的数据 并在进入 P
  • 计算罗盘的航向到特定坐标而不是向北

    我无法正确理解这个算法 我正在尝试制作一个指向某个位置的指南针 而不仅仅是指向北方 有问题 我花了很多时间试图弄清楚这一点 但我就是找不到它 有任何想法吗 void locationManager CLLocationManager man
  • 使用 json4s 在 Scala 应用程序中生成 json

    我正在尝试使用 json4s 在 Scala 应用程序中生成 JSON 相当简单 下面是我在 Scalatra 应用程序中整理的一些示例值 import org json4s import org json4s JsonDSL object
  • “不支持的主次版本 52.0”是什么意思,如何解决? [复制]

    这个问题在这里已经有答案了 好的 所以我粗略地理解 52 0 是 Java 8 异常意味着某些代码是用一个版本的 java 编译的 而另一些代码是用另一个版本编译的 我无法理解的是它是哪条路 这是我得到的堆栈跟踪 Exception in
  • 如何在 Linux 中签署 Mac OS X 应用程序?

    对于 OS X 我在 DMG 内分发 Java 应用程序 自 Mountain Lion 发布以来 打开应用程序会出现以下错误消息 应用程序名称 已损坏且无法打开 您应该弹出 磁盘映像 显然解决方法是签署 app 文件 https blog
  • 使用来自外部文件的数据进行 xUnit 测试

    这些天我试图了解 xUnit 测试的工作原理 特别是 我发现有 3 种方法将数据作为参数传递以测试类方法 InlineData ClassData 和 MemberData 但这是我的问题 是否有机会从外部文件获取这些数据 例如 Json
  • 在我的代码执行中添加延迟的正确方法

    我正在尝试制作一个非常简单的逻辑游戏 这个想法是看到一个带有一定数量的彩色方块 按钮 的矩阵 然后隐藏它们 玩家必须单击彩色方块 所以我需要在绘制方块 按钮和返回原始颜色之间有 2 秒的延迟 所有代码都在一个中实现button click
  • java SDK 中 AmazonDynamoDBClient 和 DynamoDB 类之间的区别?

    我正在使用 Amazon 的 DynamoDB java SDK 想了解两者之间的区别AmazonDynamoDB客户端 https github com aws aws sdk java blob master aws java sdk
  • 填充会增加 div 宽度/高度吗? [复制]

    这个问题在这里已经有答案了 b b
  • 在 RIDE 中导入 Java 库

    我正在尝试在 RIDE 中使用 java 库 我发现了一个很好的教程 https blog codecentric de en 2012 06 robot framework tutorial writing keyword librari
  • 由于 AM 容器,应用程序失败 2 次:以 exitCode: 1 退出

    我在 hadoop 2 7 0 上运行了一个 MapReduce 作业 但 MapReduce 作业无法启动 并且遇到以下错误 Job job 1491779488590 0002 failed with state FAILED due
  • U 矩阵和自组织映射

    我正在尝试理解 SOM 当人们发布代表的图像时 我感到很困惑 数据图像让我使用 SOM 将数据映射到地图空间 据说用的是U矩阵 但我们的神经元网格是有限的 那么如何获得 连续 图像呢 例如 从 40x40 网格开始 有 1600 个神经元
  • OSS Nexus:如何使用 REST API 以文本形式检索最新版本

    我想检索最新版本名称 作为文本 以便能够重命名从 Nexus 检索到的具有时间戳的工件 我所做的是创建一个包含内部 jar 项目 依赖项 相关脚本等多个存档的存档 但是 如果打包的 jar 是快照 则存档在下载时会带有时间戳 这些时间戳替换
  • Bootstrap面板折叠当您单击其中的链接时折叠

    在下面的 HTML 页面中 Heading 1 and Heading 2当页面第一次加载时正确折叠 因为我正在使用class panel collapse collapse Then Collapse Expand当用户单击时工作正常He
  • 在 XAML 中将密码框中的文本居中

    我试图将文本放在密码框中居中 在 Blend 中 用于对齐的文本属性全部被禁用 还有其他方法可以做到这一点吗 感谢您的帮助 Horizo ntalContentAlignment 在 WPF 中工作 但不幸的是在 Silverlight 中
  • 我怎样才能指导更少的人忽略某些风格的数学?

    我正在使用新的calcCSS 中的函数获取对象的宽度 如下所示 width calc 100 40px 不幸的是 由于这是在 LESS 文件中 因此 LESS 在编译时 有效 地将其预先转换为 60 我希望更少地忽视数学calc函数 因为我
  • 如何在 React 应用程序中排除全局样式?

    我在用材质用户界面 https material ui com 用于构建我的 React 项目 然而 有一个组件必须嵌入到不同的站点 意思是 我提供该组件的生产版本以将其嵌入到不同的站点 My React 应用程序的 css正在被覆盖全局样
  • 如何在一个 EC2 实例上运行多个应用程序

    我有几个小型生产站点和一堆有趣的爱好者 实验应用程序等 我想在一个 EC2 实例上运行所有这些 我可以安装一次node js npm express 和 couchdb 然后在不同的端口上运行每个应用程序 并调整我的域注册表中的 dns 设