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
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
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
OutputAvailable 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
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Verifique com o sistema init systemd
para garantir que o serviço esteja funcionando digitando:
- systemctl status nginx
Outputnginx.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:
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 DigitalOcean, por favor, consulte nossa Introdução ao DNS da DigitalOcean.
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:
<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:
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 para your_domain
e www.your_domain
.default
: responderá a quaisquer pedidos na porta 80
que 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:
...
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:
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
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!