31.01.2025

Como configurar hosts virtuais do Nginx no Ubuntu 20.04

O Nginx foi projetado para lidar com vários domínios em um único servidor e endereço IP. Os hosts virtuais oferecem esse recurso. Neste tutorial, configuraremos os hosts virtuais do Nginx.

Arquivos de configuração do Nginx

Primeiro, você precisa instalar o pacote Nginx.

apt install nginx

Todos os arquivos de configuração dos hosts virtuais do Nginx são armazenados na pasta /etc/nginx/sites-available/. A melhor maneira é criar um arquivo separado para cada site no servidor. Vamos criar a primeira configuração para domain-name.com.

nano /etc/nginx/sites-available/domain-name.com

Agora insira essa configuração aqui.

server {
listen 80; # Specify the listening port
listen [::]:80; # The same thing for IPv6
root /var/www/domain-name.com/html; # The path to the website files
index index.html index.htm; # Files to display if only the domain name is specified in the address
server_name domain-name.com; # Domain name of this site
location / {
try_files $uri $uri/ =404;
}
}

Salve e feche esse arquivo.
Crie uma pasta para o site e coloque seus arquivos nela.

mkdir -p /var/www/domain-name.com/html

E defina as permissões para a pasta.

chmod -R 755 /var/www

Ativando o host virtual Nginx

Você precisa criar um link simbólico para a configuração no diretório sites-enabled para ativar o host virtual.

ln -s /etc/nginx/sites-available/domain-name.com /etc/nginx/sites-enabled/

Agora, verifique se há erros na configuração.

nginx -t

E reinicie o serviço.

systemctl restart nginx

Agora você tem um host virtual em funcionamento para um único domínio. Você pode acessá-lo pelo nome do domínio se o servidor DNS estiver configurado corretamente. Qualquer número de domínios pode ser adicionado ao servidor dessa forma.

Desabilitação dos hosts virtuais do Nginx

Para desativar um host virtual, remova o link simbólico da pasta sites-enabled. Para desativar o retorno de uma página da Web padrão ao acessar o endereço IP do servidor, basta excluir o link para a configuração padrão.

rm /etc/nginx/sites-enabled/default

Reinicie o serviço depois disso.

systemctl restart nginx

Dessa forma, você pode desativar qualquer configuração necessária. E ativá-la adicionando novamente um link simbólico, como fizemos anteriormente.