是否有可能在同一台服务器上的同一个端口上运行两个Web服务器? 例如,Apache和Lighttpd

可能重复:
在端口80上运行两个服务

我有一台QNAP TS-459 Pro II,它附带一个在80端口上运行的Apachenetworking服务器。

我也想运行一个小的Sinatra应用程序; 也在80号港口。

我希望Apache提供example.comfoo.example.com ,但我希望Sinatra提供bar.exapmle.com

是否有可能在相同的端口上运行两个Web服务器,但只能根据特定的域绑定来回答?

不,除非在服务器上有两个不同的公有IP,每个服务器都可以绑定。 然后,每个服务器都需要明确监听特定的IP /端口组合,并且它将“正常工作”。

如果您只能访问单个IP地址,那么正常的解决scheme是在另一个端口( localhost:808*很受欢迎)上设置Sinatra服务器,然后在Apache中使用mod_proxy在内部pipe理您的Sinatra服务器域。

只有一个应用程序可以同时打开特定的端口/ IP组合,但您可以通过将Apache设置为反向代理来近似您所需的内容。

亮点 –

  • 在端口80上运行Apache,并启用mod_proxy
  • 不要打开ProxyRequests(这只适用于正向代理)
  • 在另一个端口和/或IP上运行您的其他应用程序
  • 使用Apache虚拟主机和反向代理configuration将stream量引导到相应的站点。

你可以看到这些链接的更多信息 –

ApacheTutor文章

Apache mod_proxy文档