Editado 5 dias atrás por ExtremeHow Equipe Editorial
NginxUbuntuServidorLinuxServidor WebInstalaçãoConfiguraçãoSistemas OperacionaisSistemaConfiguração
Tradução atualizada 5 dias atrás
Bem-vindo a este guia sobre como instalar e configurar o Nginx no servidor Ubuntu. Neste artigo detalhado, iremos abordar cada passo em detalhe, explicando o processo desde a instalação até a configuração, incluindo vários módulos e configurações que podem ser ajustados de acordo com suas necessidades. O Nginx é conhecido por seu alto desempenho, estabilidade, conjunto de recursos abrangente, configuração simples e baixo consumo de recursos, tornando-se uma escolha popular para servidores web. Vamos aprofundar nos passos para executar o Nginx em seu sistema Ubuntu.
O Nginx (pronunciado "enginex") é um servidor HTTP de alto desempenho e proxy reverso, assim como um servidor proxy IMAP/POP3. Ele foi desenvolvido para lidar com várias conexões simultâneas, o que significa que é altamente eficiente ao fornecer conteúdo estático e oferecer recursos de balanceamento de carga. O Nginx é um software de código aberto, o que significa que é gratuito para usar, modificar e distribuir.
Antes de instalar o Nginx, você deve ter um servidor rodando o Ubuntu. Este guia assume o seguinte:
Certifique-se de que seu servidor está atualizado com os pacotes de software mais recentes, para isso faça o seguinte: sudo apt update && sudo apt upgrade
.
Para instalar o Nginx, seu gerenciador de pacotes deve estar atualizado. Você usará apt
, que é o gerenciador de pacotes padrão para o Ubuntu. Siga estes passos:
sudo apt update
sudo apt install nginx
O primeiro comando atualiza a lista de pacotes. O segundo comando instala o Nginx. Após a instalação, o Nginx inicia automaticamente. Para verificar se o Nginx está rodando, você pode usar o comando: systemctl status nginx
. Se o serviço estiver ativo e rodando, você deve ver uma saída indicando isso.
Por padrão, o Nginx se registra com o ufw
, que é uma ferramenta de configuração de firewall. Usando o ufw
pode-se gerenciar quais portas HTTP e HTTPS estão abertas. Execute:
sudo ufw app list
Você deve ver o perfil do Nginx listado lá. Conceda permissão Nginx Full
da seguinte forma:
sudo ufw allow 'Nginx Full'
Depois, verifique a mudança verificando o status do firewall: sudo ufw status
para se certificar de que o tráfego é permitido nas portas necessárias.
Agora que o Nginx está rodando e o firewall está ajustado, você pode visualizar a página padrão do servidor web. Abra um navegador web e navegue até o endereço IP público do seu servidor. Se o Nginx estiver configurado corretamente, você deve ver a página "Welcome to Nginx!". Para encontrar o endereço IP público do seu servidor, você pode usar:
curl -4 icanhazip.com
É importante que você esteja familiarizado com a estrutura de diretórios onde o Nginx está instalado, principalmente em /etc/nginx
. Os principais diretórios e arquivos incluem:
nginx.conf
: O arquivo principal de configuração.sites-available
: Onde todas as configurações de blocos de servidor são armazenadas.sites-enabled
: Um diretório que contém links simbólicos para arquivos habilitados em sites-available
.Mudanças na configuração devem ser feitas geralmente em nginx.conf
ou criando novos arquivos em sites-available
.
O arquivo nginx.conf
é o principal arquivo de configuração do Nginx. Tarefas simples podem envolver a edição direta dele, mas para mudanças específicas relacionadas a sites hospedados, use arquivos de blocos de servidor. Vamos criar um novo arquivo de bloco de servidor para o domínio chamado example.com
. Dentro de /etc/nginx/sites-available/
:
sudo nano /etc/nginx/sites-available/example.com
Adicione a seguinte configuração:
server {
listen 80;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
Para habilitar o arquivo, crie um link simbólico para o diretório sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Para verificar se você tem isso configurado corretamente:
sudo nginx -t
Se for bem-sucedido, recarregue o Nginx:
sudo systemctl reload nginx
Este exemplo serve apenas arquivos estáticos do diretório, assumindo que eles estão localizados em /var/www/html
sob o root padrão do Nginx.
Os blocos de servidor permitem hospedar vários domínios em um único servidor. Cada arquivo de configuração de domínio deve estar em sites-available
e o link simbólico em sites-enabled
. Exemplo de um bloco de servidor:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
}
Crie a estrutura de diretórios:
sudo mkdir -p /var/www/example.com/html
Especifique permissões e crie uma página HTML de exemplo:
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
echo '<h1>Hello World!</h1>' > /var/www/example.com/html/index.html
Lembre-se de criar o link simbólico e testar a configuração, depois recarregue o Nginx.
Para proteger o tráfego de e para seu servidor, é importante implementar SSL/TLS. O Let's Encrypt oferece certificados SSL gratuitos. Comece instalando o Certbot, o cliente do Let's Encrypt:
sudo apt install certbot python3-certbot-nginx
O Certbot pode configurar automaticamente o SSL para o Nginx; execute:
sudo certbot --nginx -d example.com -d www.example.com
Durante o processo, é necessário fornecer um endereço de e-mail e concordar com os termos de serviço. O Certbot cuidará das modificações na sua configuração do Nginx para fornecer conteúdo via HTTPS.
Os certificados do Let's Encrypt expiram a cada 90 dias. Configure um cron job para renovar automaticamente os certificados. Abra o crontab:
sudo crontab -e
Adicione:
0 3 * * * /usr/bin/certbot renew --quiet
Isso executará o comando de renovação todos os dias às 3 AM.
Para sites com alto tráfego, o ajuste de desempenho é importante. Algumas estratégias de ajuste:
/etc/nginx/nginx.conf
aumente: configurando worker_processes auto;
e worker_connections 1024;
.gzip on;
Considere usar ferramentas como New Relic ou Datadog para monitorar o desempenho do Nginx.
Parabéns, você instalou e configurou o Nginx no Ubuntu! Você aprendeu a servir múltiplos domínios, proteger seu site com SSL e otimizar a configuração para um melhor desempenho. Como as opções e módulos do Nginx são tão ricos, explorar sua documentação mais a fundo pode lhe proporcionar muitas capacidades avançadas e interessantes. Continue experimentando e em breve você estará gerenciando um servidor web altamente otimizado.
Se você encontrar algo errado com o conteúdo do artigo, você pode