如何在同一台服务器上运行两个不同的 Web 服务器?

如何在同一台服务器上运行两个不同的 Web 服务器?

我知道您不能使用两个不同的服务器进程监听相同的端口和 IP,但显然如果您为每个进程分配一个单独的 IP 地址,这是可能的。是这样吗?我正在考虑在同一台服务器上同时运行 ningx 和 Apache(我也欢迎您就这是否是个好主意提供反馈),主要是因为理想情况下我想尝试切换到 nginx,但据说它对 Tomcat 的支持不是很好,所以我想我需要保留 apache。

有没有人做过类似的事情;有推荐的吗,以及如何去做?

答案1

apache 和 nginx 都接受要监听的地址的参数;如果您希望 apache 监听 192.168.1.100 而 nginx 监听 192.168.1.110,则需要将以下内容添加到相应的 conf 文件中:

httpd配置文件(或 /etc/apache/ports.conf,取决于发行版):

listen 192.168.1.100:80

nginx.conf

server {
    # port to listen on. Can also be set to an IP:PORT
    listen 192.168.1.110:80;
    . . . 

答案2

是的,使用 2 个 IP 地址,您可以让 nginx 和 apache 都监听端口 80。或者,您可以将 apache 配置为在相同的 IP 地址但在不同的端口上列出,并让 nginx 代理请求 apache 域的 apache。

server {
    listen 1.2.3.4:80;
    server_name apache_domain.com www.apache_domain.com;
    location / {
    proxy_pass http://1.2.3.4:81/;
    proxy_redirect http://1.2.3.4:81/ /; 
    ...

用于监听端口 81 的 apache。

相关内容