Pesquisa de site

Configure blocos de servidor Nginx (hosts virtuais) no CentOS/RHEL 8


Um bloco de servidor Nginx é equivalente a um host virtual Apache e possibilita que você hospede mais de um domínio ou site em seu servidor.

Neste artigo, você aprenderá como configurar blocos de servidor Nginx (hosts virtuais) no CentOS 8 e no RHEL 8 Linux.

Pré-requisitos:

  • Um registro A para seu domínio. Em termos simples, um registro A refere-se a uma entrada DNS onde o nome de domínio é apontado para o IP público do servidor, neste caso o servidor web Nginx. Ao longo deste guia, usaremos o nome de domínio crazytechgeek.info.
  • Um servidor Nginx ou LEMP Stack instalado na instância CentOS 8 ou RHEL 8.
  • Um usuário de login com privilégios Sudo.

Vamos começar!

Etapa 1: Crie um diretório raiz de documentos Nginx

Imediatamente, você precisa criar um diretório raiz da web personalizado para o domínio que deseja hospedar. Para o nosso caso, criaremos o diretório conforme mostrado usando a opção mkdir -p para criar todos os diretórios pais necessários:

sudo mkdir -p /var/www/crazytechgeek.info/html

Depois disso, atribua as permissões de diretório usando a variável de ambiente $USER. Ao fazer isso, certifique-se de estar conectado como usuário normal e não como usuário root.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Em seguida, atribua as permissões de diretório corretas recursivamente, conforme mostrado:

sudo chmod -R 755 /var/www/crazytechgeek.info/html

Etapa 2: crie uma página de exemplo para o domínio

A seguir, criaremos um arquivo index.html dentro do diretório raiz da web personalizado que será servido pelo domínio assim que uma solicitação for feita.

sudo vim /var/www/crazytechgeek.info/html/index.html

Dentro do arquivo, cole o seguinte conteúdo de amostra.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Salve e saia do arquivo de configuração.

Etapa 3: Crie um bloco de servidor Nginx no CentOS

Para que o servidor web Nginx sirva o conteúdo do arquivo index.html que criamos na etapa 2, precisamos criar um arquivo de bloco de servidor com as diretivas apropriadas. Portanto, criaremos um novo bloco de servidor em:

sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

A seguir, cole a configuração que aparece 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;

}

Quando terminar, salve as alterações e saia do arquivo de configuração. Para confirmar se todas as configurações do Nginx estão corretas e livres de erros, execute o comando:

sudo nginx -t

A saída abaixo deve ser uma confirmação de que você está pronto para prosseguir!

Por fim, reinicie seu servidor web Nginx e confirme se ele está funcionando conforme o esperado:

sudo systemctl restart nginx
sudo systemctl status nginx

Etapa 4: Testando o bloco de servidor Nginx no CentOS

Terminamos as configurações. A única parte que resta é confirmar se nosso bloco de servidor está servindo conteúdo no diretório raiz da web definido anteriormente no arquivo index.html.

Para fazer isso, basta abrir seu navegador e acessar o domínio do seu servidor conforme mostrado:

http://domain-name

Conforme observado, nosso conteúdo está sendo veiculado pelo bloco do servidor, uma indicação clara de que tudo correu bem.

Etapa 5: Habilite HTTPS no domínio hospedado no Nginx

Você pode considerar criptografar seu domínio usando Lets Encrypt SSL para adicionar uma camada de proteção e tráfego seguro de e para o servidor web.

sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx

Para confirmar se seu domínio está configurado corretamente em HTTPS, visite https://yourwebsite.com/ em seu navegador e procure o ícone de cadeado na barra de URL.

Conclusão

Configuramos com sucesso um bloco de servidor Nginx no CentOS 8 e no RHEL 8. Você pode repetir o mesmo para vários domínios usando o mesmo procedimento.