Assim que você tiver acesso à hospedagem online, provavelmente quererá saber como hospedar vários sites em um único servidor. Embora isso possa parecer complicado, conforme você se aprofunda no assunto, entenderá que é possível fazer isso com ajuda de guias técnicos.
Vários servidores web podem oferecer serviços gratuitos, de código aberto e amplamente utilizados em todo o mundo. Porém, antes de explicar como hospedar vários sites em um servidor, devemos entender o que é um servidor web e como funciona.
- O que é um servidor web?
- Hospede vários sites em um servidor: Apache
- Passo 1: Crie um Diretório para Cada Site
- Etapa 2: Definir Permissões de Pasta
- Etapa 3: Configurar uma Página de Índice
- Etapa 4: Copiar o Arquivo de Configuração para Cada Site
- Etapa 5: Editar o Arquivo de Configuração para Cada Site
- Etapa 6: Ativar Seu Arquivo de Configuração
- Etapa 7: Verificar as Configurações Apache
- Hospedar múltiplos sites em um servidor: IIS
- Executar Múltiplos Sites com Endereços IP Diferentes no Servidor IIS
- Conclusão: Hospedar múltiplos sites em um servidor
- Perguntas Frequentes
O que é um servidor web?
Um servidor web armazena e fornece conteúdo, como texto, imagens, vídeo e dados de aplicação para um site. Em outras palavras, clientes que solicitam esses conteúdos podem usá-los com a ajuda de servidores web. Um dos clientes mais comuns é um programa navegador que solicita dados do seu site quando um usuário clica em um link ou baixa um arquivo.
Um servidor web se comunica através do Protocolo de Transferência de Hipertexto (HTTP) com um navegador. A maioria do conteúdo de páginas web é codificada em Hypertext Markup Language (HTML). O conteúdo pode ser estático, como texto e imagens, ou dinâmico, como uma lista de itens que um cliente marcou para compra. A maioria dos servidores web oferece suporte a linguagens de programação no lado do servidor para codificar lógica de negócios na comunicação e fornecer conteúdo dinâmico. Normalmente são suportadas linguagens como Active Server Pages (ASP), JavaScript, PHP, Python e Ruby.
Como Funciona um Servidor Web?
Servidores web funcionam com base em um modelo cliente-servidor Nessa estrutura padrão, o cliente solicita um recurso ou serviço do servidor.
Servidores web passam por algumas etapas para processar solicitações de clientes web:
- Quando um usuário quer carregar conteúdo no site, o navegador web solicita acesso (Solicitação HTTP) através da internet.
- O navegador web procura pelo endereço IP do site solicitado. Ele traduz o URL das páginas web usando o Sistema de Nomes de Domínio (DNS) ou consultando seu cache. Este processo o ajuda a localizar o servidor web, que é onde os arquivos do site estão hospedados.
- Neste ponto, o servidor web recebe a requisição HTTP e a processa através do seu servidor HTTP.
- Quando o servidor HTTP aceita a requisição, ele procura nos arquivos do servidor para obter os dados relevantes.
- O servidor web retorna os arquivos do site para o navegador que fez a requisição. Depois disso, o usuário vê o conteúdo do site.
Porém, note que se o servidor HTTP não conseguir encontrar ou processar os arquivos solicitados, você verá uma mensagem de erro no navegador web. Agora que você está familiarizado com os conceitos principais de servidores web, pode facilmente aprender a hospedar vários servidores web em um único servidor.
Hospede vários sites em um servidor: Apache
Se você quer hospedar mais de um site em um servidor, use os arquivos de host virtual do Apache para especificar qual domínio deve ser usado. Um dos métodos usados para resolver requisições de sites é chamado Hosts virtuais baseados em nome. Quando alguém acessa seu site, a requisição vai para o servidor, que determina quais arquivos do site servir baseado no nome do domínio. Esta técnica permite hospedar vários sites em um único servidor com o mesmo IP. Este guia explicará como configurar seu arquivo de host virtual para cada um de seus domínios. Antes de entrarmos em mais detalhes, lembre-se que você deve fazer login como conta root.
Leia Também: “Linux vs Windows hosting: Qual é melhor para você?”
Passo 1: Crie um Diretório para Cada Site
Primeiro instale apache2 usando este comando
Para sistemas baseados em Debian
apt install apache2 -y
Para sistema baseado em CentOS
yum install apache2 -y
Você precisa criar um diretório para cada site que vai hospedar (dentro da pasta /var/www). Considere domain.com e domain2.com para seus nomes de domínio.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Etapa 2: Definir Permissões de Pasta
chmod -R 755 /var/www
Etapa 3: Configurar uma Página de Índice
Para ver uma página inicial, você deve garantir que o index.html arquivo seja criado para cada domínio. Você pode adicionar algo simples como testando para domain.com neste arquivo.
vim /var/www/domain.com/public_html/index.html
testando para domain.com
Agora você deve salvar e sair usando Escapar botão e digitando: wq
Você pode usar o comando abaixo para repetir todos esses passos para seu segundo domínio.
vim /var/www/domain2.com/public_html/index.html
Etapa 4: Copiar o Arquivo de Configuração para Cada Site
Copie o arquivo de configuração padrão para cada site, garantindo que sempre tenha uma cópia padrão disponível para futuras criações de sites.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Etapa 5: Editar o Arquivo de Configuração para Cada Site
No mínimo, altere e adicione as linhas destacadas dentro do <VirtualHost *:80> e </VirtualHost> tags.
Observe que ServerAlias é o nome alternativo para seu domínio; neste caso e na maioria dos casos, coloque www na frente do nome do domínio para que outros possam acessar o site tanto por www quanto por não-www (ServerName).
vim /etc/apache2/sites-available/domain.com.conf

Novamente, saia e salve usando wq. Repita este processo para seu domain2.com.conf arquivo; certifique-se de atualizar o ServerName, ServerAlias, e DocumentRoot para seu segundo domínio.
Leia Também: “Apache vs NGINX”
Etapa 6: Ativar Seu Arquivo de Configuração
Seu servidor está configurado para ler o arquivo 000-default.conf por padrão. Mas, na etapa anterior, criamos um novo arquivo de configuração para cada domínio. Portanto, precisamos desabilitar o arquivo padrão e usar um adequado para o novo arquivo de configuração.
a2dissite 000-default.conf
Você pode mapear seu servidor para seus domínios habilitando cada um dos arquivos .conf recém-criados.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Agora, vamos reiniciar Apache para registrar as alterações feitas nele.
systemctl restart apache2
Etapa 7: Verificar as Configurações Apache
Após iniciar Apache, você pode ver que as configurações estão funcionando editando seu ficheiro /etc/host no seu computador ou DNS do seu domínio.
Após configurar cada aspecto, visite seu site em um navegador para ver as páginas index.html criadas na Etapa 3.
Leia também: No Local vs. Nuvem
Hospedar múltiplos sites em um servidor: IIS
Podemos usar um servidor web IIS (Internet Information Services) para dezenas ou até centenas de sites. Você pode hospedar vários sites nele, ouvindo e respondendo na mesma Porta TCP. Porém, a interface do IIS Manager não deixa claro que você pode hospedar outro site sem vinculá-lo a outra porta como 8080. Esta seção explica como hospedar vários sites no mesmo servidor IIS e vinculá-los à mesma porta e endereço IP, ou até mesmo a endereços IP diferentes.
Como instalar IIS no servidor Windows?
Ao instalar IIS em Windows, um Site Padrão vazio é criado e fica escutando na porta HTTP web padrão – TCP 80. Em termos técnicos, nosso site está vinculado à porta TCP/80. Precisamos digitar o nome do servidor IIS ("http://web-srv1") ou seu endereço IP ("http://192.168.1.100") no navegador para abrir este site.
Etapa 1: Vinculação do Site IIS
Um servidor web IIS executado em Windows Server pode ajudar você a hospedar vários sites. Porém, IIS distribui as solicitações HTTP corretamente apenas se cada site for identificado com um valor único. O site IIS inclui três atributos que formam uma combinação única para cada site. Estes atributos estão listados aqui:
- um número de porta TCP
- um endereço IP
- um host header (hostname)
As informações sobre os sites hospedados são armazenadas no ServerBindings atributo do IIS Metabase, e seu formato é assim: IP:Porta:Nome do host. Portanto, se você quer hospedar vários sites em um servidor (mesma porta e endereço IP), precisa usar um Host header único.
Você pode se perguntar: o que é um host header? Um host header é parte de uma requisição HTTP ao servidor que especifica para qual site a requisição é destinada. Por isso, precisamos mencionar esse host header no lado do servidor web. Note que o DNS deve ter o registro correto que corresponde ao hostname e ao endereço IP do servidor IIS.
Agora suponha que você tem um site rodando no servidor IIS e escutando na porta 80. O que fazer quando você quer vincular um segundo site na mesma porta?
Passo 2: Vinculando o segundo site IIS
No Internet Information Service (IIS) Manager, você precisa criar outro site usando a janela Add Website e nomeá-lo como TestSite. Este site será localizado em C:\inetpub\TestSite. Cuidado para não especificar o hostname ainda.
Depois de copiar o conteúdo do site para C:\inetpub\TestSite, abra o Internet Information Service (IIS) Manager e, no hostname do servidor, adicione o site para abrir o assistente.


Após clicar em Ok, você verá uma mensagem de aviso informando que não é possível usar binding *:80 para ambos estes sites.


Depois de aceitar este aviso, você terá outro site vinculado à porta 80. Portanto, não é possível iniciá-lo sem parar o primeiro site. Você pode entender melhor observando a imagem a seguir.

Hospedagem de VPS com Windows
Conheça nossos planos Windows VPS acessíveis, com hardware potente, latência mínima e um Windows gratuito à sua escolha!
Resgate seu Windows GratuitoHospedar Múltiplos Sites em Servidor IIS por Host Headers
Você deve escolher outro nome (Host Name) para o segundo site IIS a fim de criar uma vinculação única. Para fazer isso, clique com o botão direito TestSite e selecione Editar Bindings. Selecione a vinculação desejada e clique em Editar.
Como você pode ver na imagem a seguir, devemos especificar o hostname único que o usuário vai acessar. Neste tutorial, usamos TestSite; então vamos colocá-lo no campo Hostname.

Você pode usar o prompt de comando para configurar a vinculação do site IIS. Se você usar IIS 7 ou versão mais recente, você verá algo assim após executar o comando para configurar a vinculação do site IIS:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
Semelhante ao primeiro site, você também pode iniciar o segundo.

Neste ponto, você deve adicionar um alias DNS para o servidor (registro A ou CNAME), apontando para o endereço IP ou hostname do seu servidor IIS. Se você usa um domínio do Active Directory, precisa criar registros DNS no controlador de domínio. O IIS permite que você crie um CNAME registro para o nome TestSite no console DNS (dnsmgmt.msc) e defina o nome de domínio do seu servidor IIS como host de destino FQDN.

Você também pode criar esse registro DNS via PowerShell com o seguinte comando:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Vamos tentar abrir http://TestSite no navegador. Se tudo estiver configurado corretamente, deve abrir sem problemas.

Hospedagem Linux Simplificada
Quer uma forma melhor de hospedar seus sites e aplicações web? Está desenvolvendo algo novo? Simplesmente não gosta de Windows? É por isso que temos Linux VPS.
Obtenha seu Linux VPSExecutar Múltiplos Sites com Endereços IP Diferentes no Servidor IIS
Agora vamos falar sobre como executar dois sites no servidor web IIS com endereços IP diferentes. Primeiro, você deve adicionar uma interface VLAN separada no servidor Windows ou atribuir um endereço IP adicional (alias) à NIC.
Neste tutorial, o servidor possui o endereço IP primário 192.168.13.100, e adicionaremos o alias de IP 192.168.13.101 ao mesmo adaptador de rede:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Agora você deve criar um registro A para seu novo site no servidor DNS:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Resta abrir as configurações de Binding do Site, vinculando o site ao endereço IP adicional do seu host. Você pode gerenciar a vinculação de sites em um servidor IIS usando PowerShell. Para isso, use o módulo WebAdministration:
Import-Module WebAdministration
Você pode visualizar informações sobre todos os sites IIS disponíveis e suas vinculações:
Get-IISSite
Ou apenas sobre um site específico:
(Get-Website -Name NewSite).bindings.Collection

Use o seguinte comando para alterar a vinculação deste site; note que ele permite que você mude os endereços IP, porta ou nome:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
Você pode executar este comando para adicionar uma nova vinculação a um site IIS específico:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
Para remover uma vinculação, use o seguinte comando:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Como você viu aqui, você pode executar múltiplos sites em um servidor web IIS tanto em endereços IP diferentes quanto no mesmo endereço IP e número de porta TCP.
Conclusão: Hospedar múltiplos sites em um servidor
Este artigo focou principalmente nos conceitos primários de servidores, ajudando você a aprender como hospedar múltiplos sites em um único servidor. Também oferecemos múltiplas Linux VPS soluções de hosting que você pode usar para executar diferentes sites em um servidor. Os planos do Cloudzy reduzem o custo de manter múltiplos servidores, mas também permitimos que você aproveite nossos serviços da melhor forma. Além disso, você pode atualizar facilmente os recursos do seu servidor, incluindo RAM, armazenamento, processador e largura de banda.
Perguntas Frequentes
É possível ter múltiplos sites em um único servidor web?
Se você tiver um servidor grande com recursos extensos, como espaço HDD, RAM e poder CPU suficientes, você pode hospedar múltiplos sites usando hospedagem virtual. Você pode hospedar um número ilimitado de sites em seu servidor web.
Como posso executar dois sites em um servidor?
Hospedar múltiplos sites em um único servidor web é chamado de Servidor Virtual. Além disso, você deve garantir que o servidor selecionado tenha recursos suficientes para lidar com o tráfego e requisitos de espaço em disco.
Para que serve um servidor VPS?
VPS é um serviço de hosting que pode fornecer recursos dedicados (privados) em um servidor. Observe que usar VPS é uma solução mais segura e estável do que hospedagem compartilhada, que não oferece espaço dedicado no servidor.
Por que as pessoas usam VPS?
Hospedagem VPS tornou-se uma escolha generalizada porque geralmente custa menos do que hospedagem dedicada, enquanto oferece melhor confiabilidade, segurança e desempenho do que hospedagem compartilhada.