15%

Alexhost concede-lhe desejos

Responder ao inquérito e ganhar prémios

30.10.2024

Sites habilitados com NGINX ou Apache

NGINX e Apache são os dois servidores web mais amplamente utilizados no mundo. Ambos são poderosos, ricos em recursos e altamente configuráveis, tornando-se as principais escolhas para hospedagem de websites. Em sistemas baseados em Linux, NGINX e Apache gerenciam websites ativando e desativando sites usando um sistema de arquivos de configuração, comumente referidos como sites-enabled e sites-available.

Este artigo irá guiá-lo pelos conceitos de sites-enabled e sites-available, e explicar como habilitar e gerenciar websites usando os servidores web NGINX e Apache.

Compreendendo sites-available e sites-enabled

Tanto o NGINX quanto o Apache usam uma estrutura semelhante para gerenciar websites. Essa estrutura separa os sites disponíveis dos ativados, permitindo que os administradores do sistema gerenciem facilmente quais sites estão ativos.

  • sites-available: Este diretório contém arquivos de configuração para todos os websites que você pode potencialmente servir com seu servidor web. Os arquivos neste diretório definem os hosts virtuais ou blocos de servidor (no caso do NGINX) e suas configurações. Esses websites não estão ativos até que sejam habilitados.
  • sites-enabled: Este diretório contém links simbólicos para os arquivos de configuração de websites que estão atualmente habilitados e sendo servidos pelo servidor web. Apenas os sites que foram “ativados” estarão ativos e disponíveis para os usuários.

Gerenciando Sites com Apache

1. Configuração de Hosts Virtuais do Apache

O Apache usa hosts virtuais para servir múltiplos websites a partir de um único servidor. Cada website tem seu próprio arquivo de configuração, que especifica como o Apache deve lidar com o domínio, incluindo diretivas como o diretório raiz, logs e mais.

Exemplo de Arquivo de Configuração de Host Virtual para Apache

Você pode criar um arquivo de configuração de host virtual no diretório /etc/apache2/sites-available/. Por exemplo, para configurar um website chamado example.com:

sudo nano /etc/apache2/sites-available/test.oo.md.conf

Dentro do arquivo, você definiria a configuração para example.com:

<VirtualHost *:80>
ServerAdmin admin@test.oo.md
ServerName (your_domain or Ip_address)
ServerAlias www.test.oo.md
DocumentRoot /var/www/test.oo.md
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

*ServerName (seu_dominio ou Ip_endereço)substitua o valor seu_dominio que você usa também para Ip_endereço.

2. Habilitar o Site

Uma vez que o arquivo de configuração do host virtual é criado, você pode habilitar o site usando o comando a2ensite (Apache 2 Habilitar Site):

sudo a2ensite test.oo.md.conf

Isso cria um link simbólico de /etc/apache2/sites-available/test.oo.conf para /etc/apache2/sites-enabled/test.oo.md.conf, efetivamente habilitando o website.

3. Recarregar o Apache

Após habilitar o site, recarregue o Apache para aplicar as alterações:

sudo systemctl reload apache2

4. Desabilitar o Site

Para desabilitar um site, você pode usar o comando a2dissite (Apache 2 Desabilitar Site):

sudo a2dissite example.com.conf

Isso remove o link simbólico no diretório sites-enabled, e o site não será mais servido.

Gerenciando Sites com NGINX

1. Configuração do Bloco de Servidor NGINX

O NGINX usa blocos de servidor, que são equivalentes aos hosts virtuais do Apache. Os arquivos de configuração do bloco de servidor são colocados no diretório /etc/nginx/sites-available/.

Exemplo de Configuração de Bloco de Servidor para NGINX

Para criar um arquivo de configuração para example.com, execute:

sudo nano /etc/nginx/sites-available/test.oo.md

Dentro do arquivo, você definiria o bloco de servidor para example.com:

server {
listen 80;
server_name example.com www.test.oo.md;
root /var/www/test.oo.md;
index index.html index.htm;
access_log /var/log/nginx/test.oo.md_access.log;
error_log /var/log/nginx/test.oo.md_error.log;
location / {
try_files $uri $uri/ =404;
}
}

2. Habilitar o Site

Para habilitar o site, crie um link simbólico no diretório sites-enabled que aponte para o arquivo de configuração em sites-available. Você pode fazer isso com o comando ln:

sudo ln -s /etc/nginx/sites-available/test.oo.md /etc/nginx/sites-enabled/

3. Testar Configuração do NGINX

Antes de recarregar o NGINX, é uma boa ideia testar a configuração para garantir que não haja erros de sintaxe:

sudo nginx -t

4. Recarregar o NGINX

Se o teste de configuração passar, recarregue o NGINX para aplicar as alterações:

sudo systemctl reload nginx

5. Desabilitar o Site

Para desabilitar um site, remova o link simbólico do diretório sites-enabled:

sudo rm /etc/nginx/sites-enabled/test.oo.md

Depois, recarregue o NGINX para aplicar as alterações:

sudo systemctl reload nginx

Melhores Práticas para Gerenciar Sites com NGINX ou Apache

  1. Mantenha os Arquivos de Configuração Organizados: Sempre crie arquivos de configuração separados para cada website ou domínio no diretório sites-available. Isso facilita a gestão de múltiplos websites.
  2. Teste as Configurações Antes de Recarregar: Sempre teste sua configuração com apachectl configtest (para Apache) ou nginx -t (para NGINX) antes de recarregar o servidor web. Isso pode ajudá-lo a evitar problemas que podem quebrar seus sites.
  3. Use Controle de Versão para Arquivos de Configuração: Se você estiver gerenciando muitos websites ou tiver uma configuração complexa, considere usar controle de versão (como Git) para seus arquivos de configuração. Isso permite que você rastreie mudanças e reverta se necessário.
  4. Use HTTPS: Sempre configure certificados SSL para seus sites. O Let’s Encrypt fornece certificados SSL gratuitos e pode ser facilmente integrado com Apache ou NGINX para suporte a HTTPS.
  5. Monitoramento e Logs: Sempre configure logs de acesso e de erro para cada site. Isso ajuda na resolução de problemas e no monitoramento do tráfego.

Conclusão

Tanto o NGINX quanto o Apache fornecem maneiras poderosas de gerenciar websites com os diretórios sites-available e sites-enabled. Essa estrutura permite que você habilite, desabilite e gerencie facilmente múltiplos websites a partir de um único servidor.

Para o Apache, você pode usar comandos como a2ensite e a2dissite, enquanto no NGINX, você pode criar e remover manualmente links simbólicos para habilitar ou desabilitar sites. Independentemente do servidor web que você está usando, lembre-se de recarregar o servidor após fazer alterações e sempre teste as configurações antes de aplicá-las.

Seguindo essas práticas, você terá uma experiência tranquila ao gerenciar múltiplos sites em seu servidor web NGINX ou Apache.

Deixe-me saber se você precisa de mais esclarecimentos ou assistência!

15%

Alexhost concede-lhe desejos

Responder ao inquérito e ganhar prémios