apache + nginx (para apenas um subdomínio)

1

Eu tenho um bom servidor com o Ubuntu 12.04 LTS com o Apache controlado por plesk . Agora, instalei nginx no meu subdomínio do Gitlab.

Mas agora o nginx quer controlar tudo. Como posso configurar o servidor nginx para fornecer apenas um subdomínio: git.example.com

    
por maddash 11.10.2012 / 23:37

1 resposta

1

Você não pode executar os dois na mesma porta. Por padrão, ambos irão querer conquistar 0.0.0.0:80 e isso não está ativo. Duas escolhas simples:

  • Adicione um IP, ligue o nginx em sua porta 80, aponte DNS nesse IP.
  • Configure o nginx em outra porta (por exemplo, 8080) e use a diretiva ProxyPass do Apache para enviar um virtualhost de volta ao nginx:

    <VirtualHost *:80>
        ServerName git.example.com
        DocumentRoot /path/to/myapp/public
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/
    </VirtualHost>
    

    Isso é bem comum - apenas ao contrário. A maioria das pessoas coloca o nginx na porta bruta 80 e deixa ele manipular o arquivo raw IO, e o proxy volta para o Apache se ele precisar de algo como mod_php. Você poderia fazer isso, mas é muito mais provável que funcione.

Existem, como sempre, cem mil milhões de maneiras diferentes de fazer esse tipo de coisa. Estes são os dois principais.

    
por Oli 11.10.2012 / 23:58