Pesquisa de site

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 registro A é 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ínio crazytechgeek.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.