我有几个小型生产站点和一堆有趣的爱好者/实验应用程序等。我想在一个 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(使用前将#替换为@)