Como eu rodaria dois servidores web diferentes no mesmo servidor?

6

Eu sei que você não pode ouvir a mesma porta e IP usando dois processos de servidor diferentes, mas aparentemente isso é possível se você alocar um endereço IP separado para cada um. É este o caso? Estou pensando em rodar tanto o ningx quanto o Apache no mesmo servidor (eu também agradeço o feedback sobre se isso é uma boa idéia), basicamente porque eu gostaria de tentar mudar para o nginx, mas supostamente seu suporte a Tomcat não é ótimo, então estou pensando em precisar manter o apache por perto.

Alguém já fez algo semelhante; é recomendado, e como você faz isso?

    
por Jordan Reiter 28.06.2011 / 20:18

2 respostas

6

Tanto o apache quanto o nginx aceitam argumentos para os quais os endereços devem ser ouvidos; se você quiser o apache em 192.168.1.100 e o nginx em 192.168.1.110, você adicionaria o seguinte aos respectivos arquivos conf:

link (ou /etc/apache/ports.conf, dependendo da distribuição):

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;
    . . . 
    
por 28.06.2011 / 20:36
4

Sim, com 2 endereços IP, você pode ter o nginx e o apache escutando na porta 80. Alternativamente, você pode configurar o apache para listado no mesmo endereço IP, mas em uma porta diferente e ter solicitações de proxy nginx para o apache dos domínios do 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/ /; 
    ...

para o apache escutando na porta 81.

    
por 28.06.2011 / 20:47