Como modificar a porta em que o apache2 está sendo executado para cada host virtual usando NamedVirtualHosts?

2

Minha configuração atualmente em funcionamento do apache tem tudo funcionando na porta 80 (o usual), mas estou adicionando um proxy de nó ao front-end e isso vai ouvir em 80 e encaminhar para outros servidores da web com base no host solicitado. / p>

Neste momento meu arquivo httpd.conf está vazio, o arquivo ports.conf se parece com o abaixo

NameVirtualHost *.80
Listen 80

dentro dos meus sites - disponível eu tenho o arquivo de configuração chamado "blog" - esse arquivo tem o vhost específico

<VirtualHost *:80>
    ServerName www.mysite.com:80
    DocumentRoot /www/blog.mysite.com/current/static

O que devo modificar se quiser que o apache funcione como agora - exceto na porta 9000?

As informações do apache estão listadas abaixo - instalação rápida no Ubuntu 12.04

root@mybox:/etc/apache2# apache2 -v
Server version: Apache/2.2.22 (Ubuntu)

UPDATE 1

Se eu mudar cada vhost e o ports.conf de: 80 para: 9000 e reiniciar -apache não servirá nada nessa porta (note -port 80 ainda serve tudo como seria de esperar)

Preciso modificar a linha * .80 nos arquivos? se sim, para quê? 127.0.0.1:9000 ou?

UPDATE 2

Se eu modificar o NameVirtualHost para ser *: 9000 em todos os meus vhosts / ports.conf, recebo o erro abaixo

root@mybox:/etc/apache2/sites-available# service apache2 restart
 * Restarting web server apache2                                                                                                                      [Sat Jul 21 12:24:56 2012] [warn] _default_ VirtualHost overlap on port 9000, the first has precedence
[Sat Jul 21 12:24:56 2012] [warn] _default_ VirtualHost overlap on port 9000, the first has precedence
[Sat Jul 21 12:24:56 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
 ... waiting [Sat Jul 21 12:24:57 2012] [warn] _default_ VirtualHost overlap on port 9000, the first has precedence
[Sat Jul 21 12:24:57 2012] [warn] _default_ VirtualHost overlap on port 9000, the first has precedence
[Sat Jul 21 12:24:57 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
    
por Toran Billups 21.07.2012 / 18:17

3 respostas

3

Você deve apenas alterar todas as ocorrências de 80 para 9000 e, em seguida, reiniciar o servidor da Web.

service apache2 restart
    
por 21.07.2012 / 18:38
3

É bastante simples, altere todas as ocorrências de 80 para 9000 . Ao configurar seu proxy, você só precisa apontá-lo para a porta 9000.

Depois de fazer as alterações, não se esqueça de reiniciar o servidor do Apache:

sudo /etc/init.d/apache2 restart
    
por 21.07.2012 / 18:39
2

Alternativamente:

Adicionar:

export VHOST_PORT_HTTP=9000

para / etc / apache2 / envvars

Alterar:

NameVirtualHost *:80
Listen 80

para

NameVirtualHost *:${VHOST_PORT_HTTP}
Listen ${VHOST_PORT_HTTP}

no /etc/apache2/ports.conf

e no topo de cada um dos seus vhosts, use:

<VirtualHost *:${VHOST_PORT_HTTP}>

Em seguida, você pode controlar a porta HTTP de todos os vhosts ao mesmo tempo alterando o valor em / etc / apache2 / envvars e reiniciando. Útil se você precisar ignorar o proxy com pressa.

    
por 22.07.2012 / 00:10