Assunto
- #Configuração do nginx
Criado: 2024-09-26
Criado: 2024-09-26 21:20
O Nginx é um servidor web de código aberto, frequentemente usado como servidor web ou servidor proxy web.
Com a configuração correta, ele pode fornecer conteúdo estático de forma eficiente.
Neste artigo, documentarei algumas de suas configurações principais.
Ao carregar um site, inúmeros arquivos, como JavaScript, imagens, HTML e CSS, são recebidos do servidor web.
Em vez de enviar esses conteúdos em seu formato original, o uso da compressão gzip pode reduzir significativamente a quantidade de dados transmitidos.
Ou seja, ao aplicar isso,
- A quantidade de dados é reduzida, economizando largura de banda.
- Os recursos do servidor podem ser economizados.
- Do ponto de vista do usuário, a velocidade de carregamento real é mais rápida.
Por outro lado, como o servidor precisa executar a compressão gzip antes de responder ao conteúdo, o uso da CPU do servidor pode aumentar.
É necessário testar antes da implementação em nível de produção, incluindo o tipo de arquivo a ser compactado, o nível de compactação e o tamanho do arquivo a ser compactado.
Aqui estão algumas configurações relacionadas ao gzip.
* gzip_vary instrui o servidor a enviar conteúdo compactado e não compactado para clientes que suportam e não suportam gzip, respectivamente. (Informa que diferentes versões de conteúdo podem ser fornecidas de acordo com o cabeçalho de solicitação do cliente (Accept-Encoding)).
O Nginx armazena em buffer a resposta antes de enviá-la ao cliente.
Quando um servidor web envia uma resposta a um cliente, se o cliente for lento, o servidor precisa esperar continuamente para transmitir dados. (Gargalo de rede)
Como os recursos do servidor estão sendo usados continuamente nesse caso, para resolver isso, um buffer é usado para processar temporariamente a resposta, independentemente da velocidade de processamento do cliente. Isso resulta nos seguintes benefícios:
- Otimização da carga do servidor
- Redução de gargalos de rede
※ Se o tamanho do buffer for muito grande, a transmissão de dados em tempo real, como streaming de texto, pode ser atrasada, portanto, é necessário testar. Especialmente com o surgimento de muitos serviços relacionados a IA recentemente, se o streaming de texto não funcionar, verifique esta configuração.
O worker é o processo que processa as solicitações do cliente e você pode configurar quantos workers terá para cada núcleo da CPU do servidor.
HTTP geralmente é uma solicitação - conexão - resposta - encerramento da conexão, mas para reduzir os recursos usados para estabelecer conexões em várias solicitações, a conexão do cliente pode ser mantida. Esta é a configuração keep-alive.
A razão para agrupar esses dois é a seguinte:
Se o servidor estiver usando 4 núcleos, o número teórico de conexões possíveis é 1.024 * 4 = 4.096.
(Pode não ser preciso devido aos recursos ou ao ambiente de tráfego)
Quando 4.096 clientes estão conectados simultaneamente e ocupam todos os keep-alives por 65 segundos,
Se o 4.097º usuário tentar conectar, ele não poderá se conectar, resultando em um possível atraso na resposta.
Portanto, assumindo que os recursos do servidor são estáveis devido a escalonamento automático, etc., se houver um atraso na resposta durante um evento, as configurações acima podem ter um impacto indireto.
Algumas configurações, como o buffer proxy, podem ser aplicadas por URL de solicitação.
* Algumas configurações, como keep-alive, são aplicadas no nível do servidor HTTP e não podem ser configuradas por bloco.
server {
listen 80;
server_name example.com;
Com essas configurações, você pode otimizar o desempenho da web. Considere vários casos de teste e faça testes suficientes para otimizar o desempenho do servidor!
* É possível aplicar o Nginx com as configurações alteradas sem tempo de inatividade do servidor, portanto, é geralmente estável.
Comentários0