在单个 Windows 实例上的 Amazon EC2 上运行 Apache 和 IIS

在单个 Windows 实例上的 Amazon EC2 上运行 Apache 和 IIS

我的问题是关于在单个 Amazon EC2 Windows 实例上运行 Apache 和 IIS。我进行了大量搜索,但直到现在我仍不清楚如何操作。

我有多个网站和 Web 应用程序。其中一些是用 php(wordpress 等)编写的,一些是 ASP.NET C#。我想将所有网站收集到单个 amazon ec2 windows 实例上。为此,我必须同时安装 apache 和 iis。但是我如何才能在同一台服务器上运行它们呢?通过弹性 IP?

顺便说一句,我认为在 IIS 上运行 php 站点可能会很困难,因为插件、扩展等。此外性能问题也是另一个问题。

有人能提供这方面的分步指南吗?

答案1

这不是一个分步指南,但应该可以让您对所涉及的内容有一个总体了解。

您可以在同一台机器上运行 Apache 和 IIS(无论它是 EC2 还是其他类型的服务器),如果您不介意让它们在不同的端口上运行,那么这应该相当容易。

  • 将 IIS 绑定到端口 80(例如)
  • 将 Apache 绑定到端口 8088

确保配置 EC2 所在的安全组以允许入站流量到端口 80 和 8088。

为您的 EC2 分配一个弹性 IP。

此时,Apache 托管的网站将可以通过以下方式访问:

http://my.elasticip.address:8088/...

以及通过 IIS 的:

http://my.elasticip.address/...

或者,您可以为 EC2 分配多个内部 IPS,并将 IIS 和 Apache 绑定到一个特定的 IP(这样两个 Web 服务器都可以监听默认 HTTP 端口)。

http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-AssignPrivateIpAddresses.html

这部分需要更多的研究/测试,因为我认为你不能将弹性 IP 分配给特定的内部 EC2 IP 地址,除非你的 EC2 位于 VPC 内(http://aws.amazon.com/vpc/)。

相关内容