如何在同一台机器上运行3种服务器?

我想在同一台机器上运行三种服务器:Wowza (适用于iOS的Flash RTMP和HTTP) ,Icecast (HTTP)和Apache Web Server (HTTP)

我怎样才能在同一台机器上联合运行这3个?

每个服务器的IP地址/端口必须是唯一的,以便传入的数据包可以路由到正确的进程。 运行多个虚拟IP地址(每个服务器一个)允许每个服务在其默认端口上运行。

您可以一起运行这些服务,除非它们正在监听的端口号存在冲突。 否则,您需要更改默认端口号。 例如,您不能在同一端口80上运行多个HTTP服务。

你可以使用反向代理 – 例如http://wiki.nginx.org/HttpProxyModule – 并在那里做请求路由; 您需要在端口80上运行nginx,并在不同端口上运行其他服务。 但客户端将始终连接到端口80或443。

Wowza和Icecast都基于Apache httpd。 我想你可以将适当的内容复制到一个单一的Apache HTTPD实例。

但正如我在之前的评论中所说的那样,使用mod_proxy也可能更简单

你可以使用反向代理 – 例如http://wiki.nginx.org/HttpProxyModule – 并在那里做请求路由。 你可以尝试一下。