Instalar Nginx no Ubuntu: passo a passo na VPS
Veja como instalar o Nginx no Ubuntu: apt install, conferência do serviço, liberação do firewall, server block para o seu domínio, teste da configuração e logs.
Por Redação Eleven Host · @robson.direitodigital · 28 de outubro de 2026 · 8 min de leitura

Capa da Redação Eleven Host para o guia: Instalar Nginx no Ubuntu: passo a passo na VPS Arte: Eleven Host
Para instalar Nginx no Ubuntu, rode sudo apt update e sudo apt install nginx, confira o serviço com systemctl status, libere as portas no firewall e crie um server block para o seu domínio.
Este guia segue a documentação do Ubuntu Server ("Install nginx", "How to configure nginx" e "Firewalls") e a do nginx.org. Os nomes seudominio.com.br e 203.0.113.10 são exemplos. Troque pelos seus. Aqui o foco é servir um site simples pela porta 80. O HTTPS fica para um guia à parte, indicado no fim.
Antes de começar
Você precisa de um servidor Ubuntu e de um usuário que use sudo, como o de uma VPS. Se ainda não tem esse usuário, siga primeiro o guia Criar usuário sudo na VPS Ubuntu: passo a passo.
Para o site abrir pelo nome, o domínio precisa apontar para o IP do servidor. O guia Apontar domínio para VPS: passo a passo com registro A mostra como fazer isso. Para o teste da etapa 2, você usa só o IP.
1. Instale o Nginx
Atualize a lista de pacotes e instale o servidor, tudo em uma linha:
sudo apt update && sudo apt install nginx
O apt update atualiza a lista de pacotes disponíveis. O apt install nginx baixa e instala o Nginx. Segundo a documentação do Ubuntu, o comando instala as dependências e já inicia o servidor. Se o terminal pedir confirmação, responda Y.
Esse comando instala o pacote que o Ubuntu mantém. O nginx.org também mantém um repositório próprio, com versões "stable" e "mainline". Nele, a estrutura de pastas pode ser diferente da descrita aqui, e por isso este guia usa o pacote do Ubuntu. Se quiser o repositório do nginx.org, siga a página "Linux packages" do próprio site.
2. Confira o serviço e a página padrão
Veja o estado do serviço:
sudo systemctl status nginx
A documentação do Ubuntu mostra, na saída de exemplo, a linha Active: active (running). Se aparecer algo parecido, o Nginx está de pé. Para sair da tela do status, aperte q.
Agora abra o endereço do servidor no navegador, trocando pelo IP da sua máquina:
http://203.0.113.10
Deve aparecer a página "Welcome to nginx!" com a frase "If you see this page, the nginx web server is successfully installed and working." Se a página não abrir, uma causa possível é o firewall, que é o próximo passo.
Outros comandos úteis do serviço, também da documentação do Ubuntu:
sudo systemctl restart nginxreinicia o serviço.sudo systemctl disable nginximpede que ele inicie junto com o servidor.sudo systemctl enable nginxvolta a iniciá-lo junto com o servidor.
Quer um servidor seu para publicar o site? O Plano Bronze da VPS sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Ver planos de VPS
3. Libere as portas no firewall
Se o seu servidor usa o firewall UFW, as portas do site precisam estar liberadas. Antes de ligar o firewall, libere o SSH, porque ligá-lo sem essa regra pode deixar você fora do servidor. Segundo a documentação do Ubuntu, os comandos são:
sudo ufw allow 22
sudo ufw enable
sudo ufw status
Para ver os perfis de aplicativos disponíveis, rode sudo ufw app list. Se aparecer o perfil Nginx Full, ele cobre as portas 80 e 443:
sudo ufw allow 'Nginx Full'
Se o perfil não aparecer na lista, libere as portas pelo número, com sudo ufw allow 80 e, quando for usar HTTPS, sudo ufw allow 443. Rode sudo ufw status de novo para conferir as regras. O guia Firewall para VPS: como proteger seu servidor explica o UFW com mais calma.
Libere o SSH com sudo ufw allow 22 antes de rodar sudo ufw enable. Sem essa regra, o firewall pode bloquear a sua própria conexão com o servidor.
4. Entenda onde ficam os arquivos
No pacote do Ubuntu, estes são os caminhos principais (a documentação do Ubuntu cita os três primeiros):
/var/www/htmlé a pasta padrão do site./etc/nginx/sites-enabled/defaulté o site padrão./etc/nginx/sites-available/é onde você cria os arquivos dos sites novos, um por domínio./etc/nginx/nginx.confé o arquivo de configuração principal. O nginx.org lista alguns locais possíveis para ele, e no pacote do Ubuntu ele fica em/etc/nginx.
A ideia é simples: você escreve o arquivo do site em sites-available e o ativa criando um atalho para ele em sites-enabled. É o que os próximos passos fazem.
5. Crie o server block do seu site
Um server block diz ao Nginx qual domínio atender e de qual pasta tirar os arquivos. Primeiro, crie a pasta do site e uma página de teste. Os comandos seguem a documentação do Ubuntu, com o nome da pasta trocado pelo do seu domínio:
sudo mkdir -p /srv/seudominio/html
sudo chmod -R 755 /srv/seudominio/html
echo "<html><body><h1>Meu site</h1></body></html>" | sudo tee /srv/seudominio/html/index.html
O mkdir -p cria a pasta, o chmod define as permissões e o último comando grava a página de teste. Escrevi o | sudo tee porque um simples echo ... > sem sudo pode dar "permissão negada" nessa pasta.
Agora crie o arquivo do site com um editor, por exemplo:
sudo nano /etc/nginx/sites-available/seudominio.com.br
Cole este conteúdo, que segue o exemplo da documentação do Ubuntu:
server {
listen 80;
root /srv/seudominio/html;
index index.html;
server_name seudominio.com.br www.seudominio.com.br;
location / {
try_files $uri $uri/ =404;
}
}
Em palavras simples:
listené a porta em que o Nginx escuta.server_namelista os domínios atendidos por este bloco.rooté a pasta onde estão os arquivos do site.indexé o arquivo que abre quando ninguém pede uma página específica.location /comtry_filesprocura o arquivo pedido e, se não achar, devolve o erro 404.
Salve o arquivo (no nano, Ctrl+O, Enter e Ctrl+X). Depois ative o site criando o atalho em sites-enabled e retire o site padrão:
sudo ln -s /etc/nginx/sites-available/seudominio.com.br /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Anote o que removeu, para poder refazer o atalho se precisar.
6. Teste a configuração e recarregue
Antes de aplicar, peça ao Nginx que confira o arquivo:
sudo nginx -t
Segundo a documentação do nginx.org, a opção -t confere a sintaxe do arquivo e tenta abrir os arquivos citados nele. Leia a saída do comando: se houver erro, corrija o arquivo e rode o teste de novo. Com o teste sem erros, aplique a configuração:
sudo systemctl reload nginx
O reload carrega a nova configuração e encerra os processos antigos aos poucos. A documentação do nginx.org explica que, se a nova configuração tiver erro, o Nginx desfaz a mudança e continua com a configuração antiga. Mesmo assim, vale rodar o teste com -t antes.
Abra http://seudominio.com.br no navegador. Deve aparecer a página "Meu site". Se o domínio ainda não aponta para o servidor, o nome não vai abrir. Faça o apontamento pelo guia citado no início e aguarde a propagação.
Onde ver os logs
Quando algo não abre, os logs mostram o motivo. No pacote do Ubuntu, o caminho comum é /var/log/nginx, mas confira o caminho no seu servidor. Para acompanhar o registro de erros ao vivo:
sudo tail -f /var/log/nginx/error.log
O registro de acessos fica ao lado, em access.log. Segundo a documentação do nginx.org, o formato "combined" guarda o IP de quem acessou, a data, a requisição, o código de status, os bytes enviados, a página de origem e o navegador. Para parar de acompanhar, aperte Ctrl+C.
Próximos passos
Com o site no ar pela porta 80, o passo natural é o HTTPS. O guia Redirecionar HTTP para HTTPS: passo a passo no Nginx mostra como mandar os visitantes para a versão segura. Se o seu projeto é um aplicativo, como um serviço em Node.js, o Nginx também pode receber os pedidos e repassá-los ao app. Isso se chama proxy reverso e tem guia próprio na base de conhecimento.
Guarde uma cópia do arquivo do site antes de mexer nele e rode o teste com sudo nginx -t antes de recarregar. Assim você pega um erro de digitação antes de aplicar a configuração.
Checklist: Nginx instalado no Ubuntu
- Rodei
sudo apt update && sudo apt install nginx. - Conferi o serviço com
sudo systemctl status nginxe abri a página "Welcome to nginx!". - Liberei o SSH antes de ligar o UFW e abri as portas do site.
- Criei a pasta
/srv/seudominio/htmlcom uma página de teste. - Criei o arquivo em
sites-availablee o atalho emsites-enabled. - Rodei
sudo nginx -te só entãosudo systemctl reload nginx. - Sei onde ficam os logs do serviço.
Falta o endereço do seu site? Registre o domínio e aponte para o servidor. Registrar domínio
Perguntas frequentes
Como instalar o Nginx no Ubuntu?
Rode sudo apt update && sudo apt install nginx. Depois confira o serviço com sudo systemctl status nginx e abra o IP do servidor no navegador para ver a página padrão.
Onde ficam os arquivos do site no Nginx do Ubuntu?
A pasta padrão é /var/www/html. Os arquivos dos sites novos ficam em /etc/nginx/sites-available e são ativados por um atalho em /etc/nginx/sites-enabled. Você pode escolher outra pasta para os arquivos do site, como fizemos com /srv/seudominio/html.
Qual a diferença entre reload e restart?
O reload carrega a nova configuração e encerra os processos antigos aos poucos. O restart reinicia o serviço inteiro. Para mudanças de configuração, use o reload depois do teste com sudo nginx -t.
Preciso liberar a porta 443 agora?
Só quando for configurar o HTTPS. Para servir o site pela porta 80, como neste guia, a porta 80 atende.