Nginx é um servidor web e proxy reverso de alto desempenho. Devido ao seu excelente desempenho e confiabilidade, cada vez mais sites estão começando a usar o Nginx como servidor web. A configuração e os comandos do Nginx são muito flexíveis e podem atender a várias necessidades complexas. Este artigo apresentará detalhadamente a configuração e os comandos do Nginx.
1. Instalação e inicialização do Nginx
A instalação do Nginx é muito simples, você pode instalá-lo através de um gerenciador de pacotes como yum ou apt-get, ou pode baixar o código-fonte do site oficial para compilação e instalação. Após a conclusão da instalação, você pode iniciar o Nginx com o seguinte comando:
nginx
Se precisar iniciar o Nginx com um arquivo de configuração especificado, você pode usar o seguinte comando:
nginx -c /path/to/nginx.conf
2. Arquivo de configuração Nginx
O arquivo de configuração do Nginx é um arquivo de texto, geralmente localizado em /etc/nginx/nginx.conf ou /usr/local/nginx/conf/nginx.conf. Um arquivo de configuração consiste em vários blocos, cada bloco cercado por um par de chaves {}. A seguir está um exemplo simples de arquivo de configuração Nginx:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name example.com;
location / {
root /var/www/example.com;
index index.html;
}
}
}
O arquivo de configuração acima contém três blocos: usuário, eventos e http. O bloco de usuário é usado para especificar o usuário e o grupo sob o qual o Nginx é executado, o bloco de eventos é usado para especificar o modelo de evento e o limite de conexão do Nginx e o bloco http é usado para especificar configurações relacionadas ao protocolo HTTP. No bloco http, vários blocos de servidor podem ser definidos, cada bloco de servidor correspondendo a um host virtual.
3. Comandos comumente usados do Nginx
1. Inicie o Nginx
nginx
2. Pare o Nginx
nginx -s stop
3. Reinicie o Nginx
nginx -s reload
4. Verifique o processo Nginx
ps aux | grep nginx
5. Verifique se a configuração do Nginx está correta
nginx -t
4. Módulo Nginx
O Nginx oferece suporte a muitos módulos por meio dos quais a funcionalidade do Nginx pode ser estendida. Aqui estão alguns módulos comumente usados:
1. HttpRewriteModule: usado para reescrita de URL.
2. HttpProxyModule: usado para proxy reverso.
3. HttpFastcgiModule: usado para protocolo FastCGI.
4. HttpSslModule: usado para protocolo SSL.
5. HttpGzipModule: usado para compactar dados de resposta.
6. HttpLimitReqModule: usado para limitar a taxa de solicitação.
7. HttpLimitConnModule: usado para limitar o número de conexões.
8. HttpCacheModule: usado para armazenar dados de resposta em cache.
5. Otimização do Nginx
1. Ajuste os parâmetros de work_processes
O parâmetro trabalhador_processes especifica o número de processos de trabalho abertos pelo Nginx. O valor padrão é 1. Se o servidor tiver vários núcleos de CPU, work_processes poderá ser definido como o número de núcleos de CPU.
2. Ajuste os parâmetros work_connections
O parâmetro trabalhador_connections especifica o número máximo de conexões que cada processo de trabalho pode manipular. O valor padrão é 512. Se o servidor tiver mais conexões simultâneas, work_connections deverá ser ajustado para um valor maior.
3. Habilite a opção TCP_NODELAY
A opção TCP_NODELAY pode desabilitar o algoritmo Nagle e melhorar a eficiência da transmissão TCP. A seguinte configuração pode ser adicionada no bloco http:
tcp_nodelay on;
4. Habilite a opção TCP_NOPUSH
A opção TCP_NOPUSH pode desativar o buffer de envio TCP e melhorar a eficiência do envio de dados. A seguinte configuração pode ser adicionada no bloco http:
tcp_nopush on;
5. Habilite a opção sendfile
A opção sendfile pode aproveitar a tecnologia de cópia zero do sistema operacional para melhorar a eficiência da transferência de arquivos. A seguinte configuração pode ser adicionada no bloco http:
sendfile on;
6. Resumo
Este artigo apresenta a configuração e os comandos do Nginx, bem como módulos comuns e métodos de otimização. Por meio de configuração e otimização razoáveis, o Nginx pode atingir desempenho e confiabilidade máximos. Se você estiver usando o Nginx como servidor web ou servidor proxy reverso, espero que este artigo seja útil para você.