Como configurar blocos de servidor Nginx (hosts virtuais) no Ubuntu 20.04
Às vezes, pode ser necessário hospedar mais de um domínio ou site em seu servidor web Nginx. Para que isso aconteça, um Bloco de Servidor (Hosts Virtuais) precisa ser configurado para encapsular toda a configuração do seu domínio. Os blocos de servidor Nginx são sinônimos de arquivos de host virtual Apache e têm a mesma finalidade.
Este tópico demonstra como configurar um bloco de servidor Nginx no Ubuntu 20.04.
Pré-requisitos:
- Um registro
A
definido no seu provedor de hospedagem de nome de domínio. Um registroA
é um registro DNS que aponta o nome de domínio para o endereço IP do servidor público. Para este guia, usaremos o nome de domíniocrazytechgeek.info
para fins ilustrativos. - Um servidor Nginx ou LEMP Stack instalado na instância Ubuntu 20.04 LTS.
- Um usuário de login com privilégios Sudo.
Com todos os requisitos atendidos, vamos explorar como você pode configurar um bloco de servidor Nginx no Ubuntu.
Etapa 1: Crie um diretório raiz de documentos Nginx
Para começar, criaremos um diretório separado para nosso domínio que conterá todas as configurações relacionadas ao domínio.
sudo mkdir -p /var/www/crazytechgeek.info/html
Em seguida, atribua a propriedade do diretório usando a variável de ambiente $USER
. Isso atribui a propriedade do diretório ao usuário conectado no momento. Certifique-se de estar conectado usando uma conta de usuário normal e não como root.
sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html
Em seguida, atribua as permissões apropriadas ao diretório, concedendo ao usuário logado todos os direitos (leitura, gravação e execução) e ao grupo e outros usuários apenas permissões de leitura e execução.
sudo chmod -R 755 /var/www/crazytechgeek.info
Com as permissões e propriedade do diretório configuradas corretamente, precisamos criar uma página da web de exemplo para o domínio.
Etapa 2: crie uma página de exemplo para o domínio
Nesta etapa, criaremos um arquivo index.html
para fins de teste. Este arquivo servirá o conteúdo que será exibido no navegador da web quando o domínio for chamado no navegador.
sudo vim /var/www/crazytechgeek.info/html/index.html
Cole o seguinte conteúdo HTML.
<html>
<head>
<title>Welcome to your_domain!</title>
</head>
<body>
<h1>Bravo! Your server block is working as expected!</h1>
</body>
</html>
Salve e saia do arquivo de configuração.
Etapa 3: Crie um bloco de servidor Nginx no Ubuntu
Os blocos do servidor Nginx estão localizados no diretório /etc/nginx/sites-available
. O bloco de servidor Nginx padrão é /etc/nginx/sites-available/default
que serve o arquivo HTML padrão em /var/www/html/index.nginx-debian.html .
Para o nosso caso, precisamos criar um bloco de servidor que servirá o conteúdo do arquivo index.html
que criamos anteriormente.
Portanto, crie o arquivo de bloco do servidor mostrado.
sudo vim /etc/nginx/sites-available/crazytechgeek.info
Cole o conteúdo abaixo:
server {
listen 80;
listen [::]:80;
root /var/www/crazytechgeek.info/html;
index index.html index.htm index.nginx-debian.html;
server_name crazytechgeek.info www.crazytechgeek.info;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/crazytechgeek.info.access.log;
error_log /var/log/nginx/crazytechgeek.info.error.log;
}
Salve e saia do arquivo.
Etapa 4: Habilite o bloco de servidor Nginx no Ubuntu
Para ativar o bloco do servidor Nginx, você precisa criar um link simbólico para o diretório /etc/nginx/sites-enabled/
conforme mostrado.
sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/
Neste ponto, já terminamos. Porém, é prudente confirmar se todas as configurações estão em ordem. Para fazer isso, execute o comando:
sudo nginx -t
Se você seguiu nossas etapas corretamente, deverá obter a saída mostrada:
Por fim, reinicie o Nginx para que as alterações feitas nos arquivos de configuração tenham efeito.
sudo systemctl restart Nginx
Em seguida, confirme se o Nginx está em execução executando o comando mostrado:
sudo systemctl status Nginx
Etapa 5: Testando o bloco de servidor Nginx no Ubuntu
Para confirmar se o bloco do servidor está funcionando conforme o esperado e servindo conteúdo no diretório /var/www/crazytechgeek.info
, abra seu navegador da web e procure o nome de domínio do seu servidor:
http://domain-name
Você deve obter o conteúdo contido no arquivo HTML em seu bloco de servidor, conforme mostrado.
Conclusão
Neste guia, mostramos como configurar um bloco de servidor Nginx usando um único domínio no Ubuntu Linux. Você pode repetir as mesmas etapas para domínios diferentes e ainda obter os mesmos resultados. Esperamos que o guia tenha sido esclarecedor.