O Nginx destaca-se como um servidor web de alta performance e adaptabilidade. No Rocky Linux 9, a criação de “servidores virtuais”, também conhecidos como blocos de servidor, possibilita hospedar múltiplos sites em um único servidor. Este manual oferece um percurso detalhado sobre como configurar os blocos de servidor Nginx, acompanhado de instruções passo a passo e exemplos práticos.
Introdução
Um bloco de servidor no Nginx representa um conjunto de configurações que determina o comportamento de um servidor web específico em resposta às requisições. Cada bloco é vinculado a um nome de domínio ou endereço IP, permitindo a hospedagem de diversos sites com configurações customizadas, como:
- Domínios Distintos: É possível configurar vários sites com nomes de domínio diferentes (ex: site1.com e site2.com), cada um com páginas, diretórios e configurações próprias.
- Ajustes Personalizados: Cada site pode ter configurações independentes, como diretivas específicas para SSL, caminhos de arquivos, redirecionamento de URL, etc.
- Administração Simplificada: A configuração de blocos de servidor promove uma gestão mais organizada dos sites, separando configurações e simplificando a manutenção.
Requisitos Prévios
Antes de iniciar, certifique-se de que seu sistema Rocky Linux 9 atenda aos seguintes requisitos:
- Nginx Instalado: O servidor web Nginx deve estar instalado. Caso contrário, utilize o comando:
sudo dnf install nginx
- Domínios Configurados: Os nomes de domínio que deseja hospedar devem estar configurados e direcionados ao IP do seu servidor.
- Arquivos de Conteúdo: Os arquivos do site (HTML, CSS, JavaScript, etc.) devem estar acessíveis no servidor.
Procedimento de Configuração dos Blocos de Servidor Nginx
1. Criação dos Diretórios dos Sites:
Crie pastas separadas para cada site que pretende hospedar. Estas pastas armazenarão os arquivos dos sites. Por exemplo:
sudo mkdir /var/www/site1
sudo mkdir /var/www/site2
2. Configuração dos Arquivos de Configuração Nginx:
Os blocos de servidor são definidos em arquivos de configuração específicos do Nginx. O arquivo principal é nginx.conf
, localizado em /etc/nginx/
. Você pode inserir novos blocos de servidor dentro deste arquivo ou criar arquivos separados para cada site, que podem ser incluídos no arquivo principal.
Para configurar um bloco de servidor para site1.com
, pode editar o arquivo nginx.conf
e adicionar o seguinte bloco:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1/public_html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Detalhamento da Configuração:
listen 80;
: Define a porta de escuta do servidor (porta 80 para HTTP).server_name site1.com www.site1.com;
: Define os nomes de domínio que este bloco de servidor irá atender.root /var/www/site1/public_html;
: Define a pasta raiz para os arquivos do site.index index.html index.htm;
: Define os arquivos padrão que serão exibidos quando um arquivo específico não for solicitado.location / { ... }
: Define as configurações para todas as requisições feitas ao domínio.try_files
busca o arquivo solicitado na raiz do site e direciona para a página de erro 404 se não o encontrar.
3. Configurando o Log de Acesso:
É possível definir um log de acesso específico para cada bloco de servidor, permitindo monitorar as requisições feitas a cada site separadamente. Para tal, adicione a seguinte linha dentro do bloco do servidor:
access_log /var/log/nginx/site1.access.log main;
Este comando configura o log de acesso de site1.com
como /var/log/nginx/site1.access.log
.
4. Configurando o Log de Erro:
Também é possível personalizar o log de erro para cada bloco de servidor, permitindo monitorar erros relacionados a cada site.
Para definir o log de erro, adicione a seguinte linha dentro do bloco do servidor:
error_log /var/log/nginx/site1.error.log;
Este comando define o log de erro de site1.com
como /var/log/nginx/site1.error.log
.
5. Criando o Bloco de Servidor para site2.com
:
Siga os mesmos passos para configurar um bloco de servidor para site2.com
, adicionando o seguinte bloco ao arquivo de configuração do Nginx:
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2/public_html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/site2.access.log main;
error_log /var/log/nginx/site2.error.log;
}
6. Reiniciando o Nginx:
Após configurar os blocos de servidor, reinicie o Nginx para aplicar as novas configurações:
sudo systemctl restart nginx
Verificação da Configuração
Para verificar se os blocos de servidor foram configurados corretamente, abra um navegador web e acesse os nomes de domínio configurados (ex: site1.com
e site2.com
). Se os sites estiverem operando como esperado, a configuração do Nginx foi bem-sucedida.
Implementando SSL (HTTPS)
Para ativar o suporte a HTTPS (SSL/TLS), obtenha um certificado SSL e configure-o no Nginx.
Como Obter um Certificado SSL:
Há diversas formas de obter um certificado SSL, incluindo:
- Let’s Encrypt: Um serviço gratuito muito usado para obter certificados SSL. Para usar o Let’s Encrypt com o Nginx, utilize as ferramentas
certbot
ouacme.sh
. - Fornecedores Comerciais: Empresas como Cloudflare, GoDaddy e Namecheap oferecem certificados SSL pagos com funcionalidades extras.
Configurando SSL no Nginx:
Após obter um certificado SSL, configure o Nginx para utilizá-lo. Insira as seguintes diretivas dentro do bloco do servidor no arquivo de configuração do Nginx:
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/site1.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site1.com/privkey.pem;
listen 443 ssl;
: Define a porta de escuta para HTTPS (porta 443).ssl_certificate
: Define o caminho do arquivo do certificado SSL.ssl_certificate_key
: Define o caminho do arquivo da chave privada SSL.
Reinicie o Nginx:
Após configurar o SSL, reinicie o Nginx para aplicar as alterações:
sudo systemctl restart nginx
Redirecionamento HTTPS
Para redirecionar automaticamente o tráfego HTTP para HTTPS, adicione a seguinte diretiva dentro do bloco do servidor:
listen 80;
server_name site1.com www.site1.com;
return 301 https://$server_name$request_uri;
Reinicie o Nginx:
Após configurar o redirecionamento, reinicie o Nginx para aplicar as alterações:
sudo systemctl restart nginx
Conclusão
Este guia abrangente detalhou a configuração de blocos de servidor Nginx (servidores virtuais) no Rocky Linux 9. Aprendeu a configurar diferentes sites com nomes de domínio distintos, a definir configurações específicas para cada site, a configurar logs de acesso e erro, e a adicionar suporte a HTTPS.
Com a configuração de blocos de servidor no Nginx, é possível hospedar múltiplos sites em um único servidor, otimizando recursos e simplificando a gestão. A flexibilidade do Nginx permite configurar os sites de forma eficaz e responder às necessidades de cada projeto.
Perguntas Frequentes
1. É possível hospedar mais de um site em um único bloco de servidor?
Não é recomendado, pois o ideal é ter um bloco de servidor separado para cada site, garantindo configurações independentes e uma gestão mais organizada.
2. Como configurar o SSL para um site?
Obtenha um certificado SSL e configure-o no Nginx. Utilize o Let’s Encrypt ou um fornecedor comercial.
3. Como redirecionar o tráfego HTTP para HTTPS?
Adicione a diretiva return 301 https://$server_name$request_uri;
dentro do bloco do servidor.
4. O que são os arquivos index.html
e index.htm
?
São as páginas padrão exibidas quando um utilizador acede ao site sem especificar um arquivo específico.
5. Como configurar um site com um subdomínio?
Crie um bloco de servidor separado para esse subdomínio no arquivo de configuração do Nginx.
6. Como configurar um site com um diretório raiz diferente?
Modifique a diretiva root
no bloco do servidor para o caminho do diretório raiz desejado.
7. Como configurar um servidor proxy reverso?
Use a diretiva proxy_pass
dentro do bloco location
.
8. Como usar o Nginx para armazenar conteúdo estático em cache?
Use a diretiva location
com a diretiva proxy_cache
.
9. Como configurar o Nginx para utilizar PHP?
Instale o módulo PHP-FPM e configure o Nginx para usá-lo como servidor de aplicação.
10. Como monitorar o desempenho do Nginx?
Use ferramentas como nginxtop
, nload
e htop
.
Tags: Nginx, Rocky Linux 9, Servidores Virtuais, Blocos de Servidor, SSL, HTTPS, Configuração, Tutorial, Guia, Servidor Web, Domínios, Sites, Performance, Escalabilidade, Gestão.