Vários daemons separados do apache na mesma máquina

2

Gostaria de fazer uma pergunta sobre se é possível ter vários daemons Apache separados em execução na mesma máquina. Eu não me refiro a vários processos do apache. Eu sei que isso é factível. Eu estou falando sobre daemons completamente separados. Estou familiarizado com os conceitos do VirtualHosts e sei como executar vários sites na mesma máquina, mas isso não é o que eu preciso.

Em detalhes, estou executando um aplicativo da web em uma máquina. Um arquivo de configuração do apache direciona as solicitações da web para o local relevante, ou o aplicativo wsgi. No entanto, eu preciso configurar um proxy reverso na mesma máquina. O arquivo de configuração do proxy reverso será atualizado constantemente com mais e mais entradas. Por esse motivo, gostaria de ter um daemon apache separado para executar o proxy reverso, para que qualquer erro de sintaxe possível no arquivo de configuração do Apache do proxy reverso não afetasse / travasse o aplicativo da web. Primeiro de tudo, este é o caminho a percorrer? Ou existe outra maneira de isolar os dois aplicativos (aplicativo da web, proxy reverso), para que eles não afetem uns aos outros? Se sim, como é possível?

Obrigado antecipadamente.

    
por Charalambos Paschalides 26.09.2011 / 16:45

3 respostas

1

Você pode absolutamente fazer isso - cada daemon precisa de seu próprio arquivo de configuração e (muito importante) diferentes portas TCP que eles escutam. Você não pode ter vários processos ouvindo em uma única porta.

    
por 26.09.2011 / 17:09
1

Você não precisa de dois daemons separados, isso pode ser feito com virtualhosts baseados em porta.

    
por 26.09.2011 / 17:12
1

Desculpe, eu li sua pergunta desatentamente.

Se você instalar o apache a partir do código-fonte, basta instalar 2 instalações separadas em dois diretórios separados: / opt / apache2_webapp e / opt / apache2_rproxy.

Se você quiser usar o gerenciador de pacotes, a maneira mais simples é instalar um dos servidores no chroot. Por exemplo, no Debian / Ubuntu existe uma ferramenta Multistrap muito conveniente.

Se você quiser usar o mesmo pacote para executar 2 servidores separados, você deve copiar script de inicialização, diretório de configurações, diretório de arquivos pid, diretório de log, diretório de dados com outros nomes, por exemplo em Debian / Ubuntu:

cp -r /etc/init.d/apache2 /etc/init.d/apache2_rproxy
cp -r /etc/apache2 /etc/apache2_rproxy
cp -r /etc/default/apache2 /etc/default/apache2_rproxy
cp -r /var/run/apache2 /var/run/apache2_rproxy
cp -r /var/log/apache2 /var/log/apache2_rproxy
cp -r /var/www /var/www_rproxy

Em seguida, altere todos os caminhos no novo script de inicialização e nos arquivos de configuração, tente iniciar / parar o novo script de inicialização para corrigir possíveis erros e adicionar um novo script de inicialização aos níveis de execução necessários.

P.S. IMHO usando 2 daemons separados é um exagero. Você pode configurar a solução de virtualhost baseada em porta e criar um script que execute apache2ctl configtest antes de cada alteração de configuração de proxy reverso e descarte essa alteração se o teste falhar.

    
por 26.09.2011 / 21:09