Nginx como webserver para 1 website e apache para outro. É possível?

2

Em um VPS com painel centos tenho o Apache como servidor da Web e o Nginx como proxy reverso.

Ouvi dizer que o segundo é mais rápido que o Apache para lidar com solicitações PHP e gostaria de configurá-lo como WebServer para um website, mas ainda preciso do Apache para outro.

É possível?

Meu objetivo é acelerar o tempo de veiculação das páginas php. Por exemplo, wp-admin / admin-ajax.php leva 7 segundos para renderizar !!! Eu esperaria 0,5 segundos.

    
por Revious 26.09.2016 / 09:35

3 respostas

9

AFAIK você não pode ter dois processos escutando na mesma porta (80 / http) em uma máquina, então provavelmente não em paralelo como tal.

No entanto, você poderia ter o Nginx escutando na porta 80, o Apache escutando em outra porta (81) e ter o Nginx passando as solicitações aplicáveis ao Apache. Cada um passaria a solicitação para onde quer que ela precisasse, PHP por exemplo. No entanto, isso provavelmente é muito parecido com o que você tem agora, então não sei ao certo o que você está procurando.

Talvez, se você descrever sua configuração e seus objetivos de forma mais completa, possamos ajudar mais.

Atualizar É improvável que o PHP seja lento com o servidor da web. Você precisará examinar os recursos usados, pesquisar o código, verificar logs e ver o que está acontecendo. Você pode usar o cache de páginas Nginx ou Microcaching para sites que mudam rapidamente para aumentar a velocidade para usuários anônimos. O armazenamento em cache reduz a carga do servidor, reduzindo também o tempo de geração de páginas para usuários conectados.

O PHP não é o idioma mais rápido, mas, se tiver recursos adequados, tudo bem. O HHVM é outro interpretador PHP mais rápido que o PHP5, mas eu achei que não funcionou bem para o Wordpress com os plugins que eu uso. O PHP7 é mais rápido, mas novamente tive problemas com alguns plugins.

Você disse que leva 7 segundos para renderizar a página. Você fez um teste usando algo como webpagetest.org para determinar que parte do carregamento da página é lenta? Pode ajudar a informar se é geração de páginas, recursos dependentes, etc.

Você também deve considerar um CDN, como o CloudFlare , que tem um nível gratuito efetivo.

    
por 26.09.2016 / 09:55
4

Esse tipo de problema de desempenho quase nunca é causado pelo apache. Eu iria executar um profiler PHP e ver o que é lento. Verifique o uso da CPU e o uso de E / S de disco. Não perca tempo precioso em substituir o servidor da Web quando não é o gargalo. Dê uma olhada no método USE (uso, saturação, erros): link

    
por 26.09.2016 / 13:55
0

Supondo que você realmente precise executar dois servidores da Web diferentes simultaneamente na porta 80 e tiver dois endereços IP públicos disponíveis, é possível configurar cada Apache e nginx para ouvir em diferentes endereços IP.

Na configuração do Apache:

Listen 1.2.3.4:80

Na configuração do nginx:

listen 5.6.7.8:80
    
por 26.09.2016 / 16:12