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 registroA
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íniocrazytechgeek.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.