Eu possuo um VPS rodando Ubuntu por quase meia década e tenho um conhecimento prático do aspecto de rede - mas há muitos buracos no meu entendimento.
Quando visito DOMAIN:PORT, entendo que a solicitação é roteada para o IP no meu registro A especificado em meus servidores de nomes e, consequentemente, chega ao meu VPS - mas não entendo completamente o que acontece depois disso:
- Como o nginx recebe a solicitação? Existe alguma funcionalidade de nível de hardware que o roteia para o servidor web configurado?
- Se eu tiver vários servidores da Web em execução, digamos nginx e apache - o que decide o que tem precedência?
- O nginx intercepta todas as solicitações recebidas? Digamos que eu tenha ufw permitindo 8000 - então essa solicitação DOMAIN:8000 é roteada através do nginx? Ou pode atingir algum outro servidor de nó executando localmente nessa porta?
Estas são perguntas que eu tenho intrigado sem ser capaz de descobrir o que pesquisar no Google.
Quaisquer indicações na direção certa serão muito apreciadas.
PS Mods, olhei para as perguntas relacionadas sugeridas e sinto que nenhuma aborda meu conjunto específico de perguntas. Sinta-se à vontade para me corrigir nos comentários, se eu estiver errado.
nginx
(ouApache
) diz ao kernel que está escutando em uma porta específica chamando listen(2) . O número da porta é configurado com alisten
diretiva nanginx
configuração (Listen
para Apache.). Apenas um processo pode escutar uma porta específica, então não há ordem, o segundo programa que tentar escutar na mesma porta falhará comEADDRINUSE
(Endereço já em uso).