Configuração Básica de Hosts Virtuais
Configure hosts virtuais (ou blocos de servidor) para hospedar vários sites em um único servidor usando diferentes nomes de domínio.
Configuração Básica de Hosts Virtuais é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
Hospedando vários websites
Imagine que você tenha um servidor potente, mas queira hospedar vários websites diferentes, cada um com seu próprio nome de domínio (como myshop.com e myblog.com).
Como um único servidor pode lidar com isso de forma eficiente, sem precisar de uma máquina separada para cada site?
O que são hosts virtuais?
É aqui que entram os Virtual Hosts (Apache) ou os Server Blocks (Nginx)!
- São unidades de configuração que permitem a um único servidor web hospedar vários nomes de domínio.
- Cada domínio pode ter sua própria raiz de documentos (onde ficam seus arquivos), seus logs e configurações específicas.
- Isso economiza recursos e simplifica o gerenciamento do servidor.
Configuração de Virtual Host no Apache
No Apache, as configurações de hosts virtuais geralmente são armazenadas em arquivos .conf dentro de diretórios específicos:
/etc/apache2/sites-available/: contém todas as configurações de hosts virtuais disponíveis./etc/apache2/sites-enabled/: contém links simbólicos para as configurações atualmente ativas.
Usamos comandos como a2ensite para ativá-los.
Apache: Host Virtual Básico
Esta é uma configuração simples de host virtual do Apache. Este arquivo seria criado em sites-available.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName myfirstsite.com
ServerAlias www.myfirstsite.com
DocumentRoot /var/www/myfirstsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Apache: Etapas de Configuração
Para configurar um host virtual do Apache para myfirstsite.com:
- Crie um diretório para os arquivos do seu site.
- Crie o arquivo de configuração do host virtual.
- Ative o site e recarregue o Apache.
Vamos examinar os comandos das duas primeiras etapas:
sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.confApache: Ativar e Recarregar
Depois de criar e salvar seu arquivo .conf, use estes comandos para ativá-lo e aplicar as alterações:
sudo a2ensite myfirstsite.conf: Cria um link simbólico emsites-enabled.sudo apache2ctl configtest: Verifica se há erros de sintaxe na configuração do Apache.sudo systemctl reload apache2: Aplica a nova configuração sem reiniciar o servidor.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2Configuração de Blocos de Servidor do Nginx
O Nginx usa Blocos de Servidor, que são muito semelhantes aos hosts virtuais do Apache. Eles também usam uma estrutura de diretórios semelhante:
/etc/nginx/sites-available/: Armazena todas as configurações dos blocos de servidor./etc/nginx/sites-enabled/: Contém links simbólicos para os blocos de servidor ativos.
Em vez de usar um comando auxiliar, criamos os links simbólicos manualmente.
Nginx: Bloco de Servidor Básico
Este é um bloco de servidor básico do Nginx para mysecondsite.com. Este arquivo seria criado em sites-available.
server {
listen 80;
listen [::]:80;
root /var/www/mysecondsite/html;
index index.html index.htm;
server_name mysecondsite.com www.mysecondsite.com;
location / {
try_files $uri $uri/ =404;
}
}Nginx: Etapas de Configuração
Para configurar um bloco de servidor do Nginx para mysecondsite.com:
- Crie um diretório para os arquivos do seu site.
- Crie o arquivo de configuração do bloco de servidor.
- Crie um link simbólico e recarregue o Nginx.
Aqui estão os comandos das duas primeiras etapas:
sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsiteNginx: Ativar e Recarregar
Depois de criar e salvar o arquivo do bloco de servidor, use estes comandos para ativá-lo e aplicar as alterações:
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: Cria o link simbólico.sudo nginx -t: Testa a configuração do Nginx em busca de erros de sintaxe.sudo systemctl reload nginx: Aplica a nova configuração sem reiniciar.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxVerificação do Host Virtual
Você aprendeu a configurar servidores Web para hospedar vários sites. Vamos verificar sua compreensão.
Recapitulação: Vários Sites, Um Servidor
Ótimo trabalho! Você aprendeu os fundamentos da configuração de hosts virtuais (Apache) e blocos de servidor (Nginx).
- Essas configurações permitem hospedar vários sites com eficiência em um único servidor.
- Agora você sabe configurar definições distintas para diferentes nomes de domínio.
- Essa é uma habilidade fundamental para administrar servidores Web e implantar vários aplicativos.
Perguntas Frequentes
A aula “Configuração Básica de Hosts Virtuais” é grátis?
Sim — o texto completo de “Configuração Básica de Hosts Virtuais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
O que vou aprender em “Configuração Básica de Hosts Virtuais”?
Configure hosts virtuais (ou blocos de servidor) para hospedar vários sites em um único servidor usando diferentes nomes de domínio. Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?
Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Configuração Básica de Hosts Virtuais”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?
Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Instalação do Nginx/Apache
- Hospedagem de Sites Estáticos
- Configuração Básica de Hosts Virtuais
- Habilitando HTTPS com Let's Encrypt