Table of Contents
Introdução
O Nginx é um dos servidores Web mais populares no mundo e é responsável por hospedar alguns dos sites de maior tráfego na Internet. Ele é mais amigável do que o Apache em termos de recursos na maioria dos casos e pode ser usado como um servidor Web ou como proxy reverso.
Neste guia, vamos explicar como instalar o Nginx no seu servidor Ubuntu 20.04. Para uma versão mais detalhada deste tutorial, consulte How To Install Nginx on Ubuntu 20.04
Passo 1 — Como instalar o Nginx
Uma vez que o Nginx está disponível nos repositórios padrão do Ubuntu, instale-o utilizando o sistema de empacotamento apt.
Atualize seu índice de pacotes local:
sudo apt update
Instale o Nginx:
sudo apt install nginx
Passo 2 — Como ajustar o Firewall
Se seguiu o tutorial pré-requisito de configuração do servidor, então você tem o firewall UFW ativado. Verifique os perfis de aplicativo ufw disponíveis com o seguinte comando:
sudo ufw app list
[secondary_label Output]
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Vamos habilitar o perfil mais restritivo que ainda permitirá o tráfego que você configurou, permitindo o tráfego na porta 80:
sudo ufw allow 'Nginx HTTP'
Verifique a mudança:
sudo ufw status
[secondary_label Output]
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Passo 3 — Como verificar seu Servidor Web
Verifique com o sistema init systemd para garantir que o serviço esteja funcionando digitando:
systemctl status nginx
[secondary_label Output]
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:>
Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago
Docs: man:nginx(8)
Main PID: 13255 (nginx)
Tasks: 2 (limit: 1137)
Memory: 4.6M
CGroup: /system.slice/nginx.service
├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master>
└─13256 nginx: worker process
Acesse a página inicial padrão do Nginx para confirmar que o software está funcionando corretamente através do seu endereço IP:
http://<^>your_server_ip<^>
Você deve receber a página inicial padrão do Nginx:
Passo 4 — Como configurar os blocos de servidor (recomendado)
Ao usar o servidor Web Nginx, os _server blocks_ (similares aos hosts virtuais no Apache) podem ser usados para encapsular detalhes de configuração e hospedar mais de um domínio de um único servidor. Vamos configurar um domínio chamado your_domain, mas você deve substituí-lo por seu próprio nome de domínio. Para aprender mais sobre como configurar um nome de domínio com a the cloud provider, por favor, consulte nossa Introdução ao DNS da the cloud provider.
Crie o diretório para <^>your_domain<^>, utilizando a flag -p para criar todos os diretórios pais necessários:
sudo mkdir -p /var/www/<^>your_domain<^>/html
Atribua a posse do diretório:
sudo chown -R $USER:$USER /var/www/<^>your_domain<^>/html
As permissões dos Web roots devem estar corretas se ainda não tiver modificado seu valor umask, mas você pode certificar-se digitando:
sudo chmod -R 755 /var/www/<^>your_domain<^>
Crie uma página de amostra index.html utilizando o nano ou seu editor favorito:
nano /var/www/<^>your_domain<^>/html/index.html
Dentro, adicione a seguinte amostra HTML:
[label /var/www/your_domain/html/index.html]
<html>
<head>
<title>Welcome to <^>your_domain<^>!</title>
</head>
<body>
<h1>Success! The <^>your_domain<^> server block is working!</h1>
</body>
</html>
Salve e feche o arquivo quando você terminar.
Crie um novo bloco de servidor em /etc/nginx/sites-available/<^>your_domain<^>:
sudo nano /etc/nginx/sites-available/<^>your_domain<^>
Cole no seguinte bloco de configuração, atualizado para nosso novo diretório e nome de domínio:
[label /etc/nginx/sites-available/your_domain]
server {
listen 80;
listen [::]:80;
root /var/www/<^>your_domain<^>/html;
index index.html index.htm index.nginx-debian.html;
server_name <^>your_domain<^> www.<^>your_domain<^>;
location / {
try_files $uri $uri/ =404;
}
}
Salve e feche o arquivo quando terminar.
Habilite o arquivo criando um link dele para o diretório sites-enabled:
sudo ln -s /etc/nginx/sites-available/<^>your_domain<^> /etc/nginx/sites-enabled/
Agora, dois blocos de servidor estão habilitados e configurados para responder a pedidos baseados nas diretrizes listen e server_name:
your_domain: irá responder às solicitações parayour_domainewww.your_domain.
default: responderá a quaisquer pedidos na porta80que não correspondam aos outros dois blocos.
Para evitar um possível problema de memória de hash que possa surgir ao adicionar nomes adicionais de servidor, é necessário ajustar um valor único no arquivo /etc/nginx/nginx.conf. Abra o arquivo:
sudo nano /etc/nginx/nginx.conf
Encontre a diretriz server_names_hash_bucket_size e remova o símbolo # para remover a marca de comentário da linha:
[label /etc/nginx/nginx.conf]
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Teste para conferir se há erros de sintaxe:
sudo nginx -t
Reinicie o Nginx para habilitar suas alterações:
sudo systemctl restart nginx
O Nginx agora deve estar exibindo seu nome de domínio. Você pode testar isso navegando para http://<^>your_domain<^>, onde você deve ver algo assim:
Conclusão
Agora que tem seu servidor Web instalado, você tem muitas opções para o tipo de conteúdo a oferecer e as tecnologias que quiser usar para criar uma experiência mais rica.
Se você gostaria de construir uma pilha de aplicações mais completa, verifique este artigo how to configure a LEMP stack on Ubuntu 20.04