Por quê 2 Containers (PHP e Nginx)?
[Concluído]
Boa noite professor, fique com dúvida em relação a definição e utilização de 2 containers para rodar a aplicação. Por qual motivo existe um container Nginx que chama o container php-fpm na porta 9000 para daí executar o código Laravel? Por quê não executar tudo no Nginx ou Apache?
Olá, Rudimar!
Tudo bem?
O PHP-FPM é o servidor do PHP, é ele que interpreta o PHP, o nginx pode ser usado com N tecnologias (além do PHP), o papel do nginx é fazer o proxy reverso e direcionar as requisições http para o servidor (fpm neste caso).
Fui claro amigo?
Bom dia professor, obrigado pelo retorno.
Entendi, então podemos dizer que desta forma teremos uma arquitetura mais robusta e que pode ser facilmente escalada, no sentido que poderíamos usar o Nginx como um load balancer e caso seja necessário iniciar vários containers com o PHP-FPM para atender a demanda.
Dá para criar um loadbalancer com o nginx, e distribuir a carga sim.
Mas, nesse caso aqui em questão, o nginx faz apenas o papel de proxy reverso, enviando as requisições para o php-fpm (usando o protocolo correto).
Poderíamos até usar o servidor nativo do PHP para responder, e assim não usar o nginx, mas o servidor nativo do PHP é single-thread, logo só aceita uma conexão por vez, o que em produção seria inviável.
Entendi, muito obrigado pelo esclarecimento!
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!