Apache & Nginx no Ubuntu 10.10

1

Estou executando o Ubuntu 10.10 com três hosts virtuais apache. Eu apenas segui este tutorial para configurar o Rails 3 no Ubuntu usando o PAssenger e o nginx .

Tudo está funcionando bem, exceto rails / nginx. Quando tento iniciar, recebo esta mensagem:

* Starting Nginx Server...
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
   ...done.

Não tenho certeza qual é o problema. Eu tenho que usar o nginx em vez do apache? Eu sou apenas um novato neste momento, então eu apreciaria se alguma resposta mantivesse isso em mente.

Editar

apache2ctl -S mostra isso:

 default server pixelcraftwebdesign.com (/etc/apache2/httpd.conf:4)
 port 80 namevhost pixelcraftwebdesign.com (/etc/apache2/httpd.conf:4)
 port 80 namevhost opsandss.com (/etc/apache2/httpd.conf:8)
 port 80 namevhost ergo-metric.com (/etc/apache2/httpd.conf:16)
 port 80 namevhost admin.nflspot.com (/etc/apache2/httpd.conf:24)
 port 80 namevhost utcmeme.com (/etc/apache2/httpd.conf:29)
 port 80 namevhost ruby.pixelcraftwebdesign.com (/etc/apache2/httpd.conf:37)
wildcard NameVirtualHosts and _default_ servers:
*:*                    is a NameVirtualHost
         default server myServer (/etc/apache2/sites-enabled/000-default:1)
         port * namevhost myServer (/etc/apache2/sites-enabled/000-default:1)
         port 443 namevhost myServer (/etc/apache2/sites-enabled/default-ssl:2)
    
por Kevin Brown 20.03.2012 / 00:40

2 respostas

1

Configure o Apache para encaminhar solicitações para os domínios Ruby para o nginx, que você agora escuta na porta 8000.

Verifique se você tem um NameVirtualHost *:80 em algum lugar (provavelmente você tem em /etc/apache2/ports.conf , já que você tem dois sites no Apache). E ative mod_proxy ( a2enmod proxy ). Em seguida, adicione essa configuração como um novo vhost:

<VirtualHost *:80>
    ServerName ruby.website1.com
    ServerAlias website3.com
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/
</VirtualHost>
    
por 20.03.2012 / 01:35
1

Você tem o Apache ocupando a porta 80. Se você não mover / renomear o arquivo de configuração Nginx 'site-enabled / default' (introduzido recentemente em 1.0+), o Nginx tentará iniciar a porta 80 não importando o que - até mesmo você especificar uma porta de escuta diferente para o Nginx.

Mova / renomeie o arquivo e indique uma porta diferente com a diretiva 'listen' no seu 'nginx.conf'.

    
por 20.03.2012 / 00:54