Pergunta

Alguém teve algum sucesso executando dois servidores web diferentes - como Apache e CherryPy - lado a lado na mesma máquina?Estou experimentando outros servidores da Web no momento e gostaria de ver se consigo fazer meus experimentos enquanto mantenho meus outros sites em funcionamento.Você poderia dizer que esta não é tanto uma questão de software específico, mas uma questão geral de rede.

  • Eu sei que é possível executar dois servidores web em portas diferentes;mas existe alguma maneira de configurá-los para que possam ser executados no mesma porta (ou seja, ambos rodam na porta 80)?
  • Os servidores web seriam não servir arquivos dos mesmos domínios.Por exemplo, o Apache pode servir documentos de foo.domain.com, e o outro servidor web serviria de bar.domain.com.

Eu sei que esta não é uma configuração ideal.Eu só gostaria de ver se isso pode ser feito antes de sair correndo pela toca do coelho.:)

Foi útil?

Solução

Você não pode ter dois processos vinculados à mesma porta no mesmo endereço IP.Você pode adicionar outro endereço IP à caixa e fazer com que cada servidor escute um.

Outra opção é passar um proxy de um servidor para o outro.Com o Apache, você poderia fazer algo como:

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

Esse é um exemplo bem rápido, mas você sempre pode verificar o Documentação do ProxyPass.Lembre-se, porém, de que o aplicativo que está sendo proxy receberá 127.0.0.1 em seus logs, em vez do endereço IP do solicitante.Alguns servidores web (apache faz com mod_rpaf) pode substituir o cabeçalho X-Forwarded-For no lugar do endereço IP errado.Possivelmente o CherryPy tem isso?

Outras dicas

Sua melhor aposta seria colocar o Apache httpd na frente da porta 80 e retransmitir solicitações destinadas a outros servidores através do Apache usando módulos.O cenário mais popular seria o Tomcat atrás do Apache, onde você poderá executar aplicativos php e jsp.

Não estou familiarizado com o CherryPy, então só posso sugerir que você procure um módulo Apache para o CherryPy.

Editar:Isso parece promissor: http://tools.cherrypy.org/wiki/BehindApache

Alternativamente, para a resposta correta de Ishmaeel, se você tiver um servidor com 2 placas de rede, cada servidor poderá responder a solicitações em endereços IP diferentes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top