Como hospedar vários sites no mesmo VPS

VPS e ServidoresSites e aplicações··· 1.140 visualizações· 4 min de leitura

Um VPS tem um endereço IP e pode servir quantos sites a memória e o processador aguentarem. O servidor web decide qual mostrar pelo nome que vem no pedido (o server_name no nginx, o ServerName no Apache). Cada site precisa de três coisas: o seu domínio a apontar para o IP do VPS, a sua pasta, e o seu bloco de configuração.

Não é preciso um IP por site, nem um VPS por site. O que se compartilha é a máquina: se um site consome tudo, os outros sentem. Pense nisto antes de juntar um site de uma loja com um blog de ensaio.

Passo a passo

1 Uma pasta por site. Por exemplo /var/www/primeiro.tld/public e /var/www/segundo.tld/public. Misturar sites na mesma pasta faz com que uma falha de um deles chegue ao outro.
2 Um arquivo de configuração por site. No nginx, um server { ... } por domínio em sites-available; no Apache, um <VirtualHost>. Os passos de cada um estão em instalar o nginx e servir um site e em instalar o Apache e criar um virtual host.
3 Um registro A por domínio (e por www) com o IP do VPS. Se o domínio está conosco, é no painel My MozOut; se está em outro lugar, é lá. Veja apontar um domínio para o seu VPS.
4 Teste cada um antes de o DNS propagar. Do seu computador: curl -I --resolve primeiro.tld:80:203.0.113.10 http://primeiro.tld/ (troque o IP pelo do seu VPS). Responde o site certo? Então a configuração está certa. Alternativa: o arquivo hosts.
5 Um certificado por nome. Com o certbot, sudo certbot --nginx -d primeiro.tld -d www.primeiro.tld, e o mesmo para o segundo. A renovação é automática para todos, mas teste-a: quando a renovação falha.
6 Um log de erros por site. Quando alguma coisa falha, saber de qual dos sites vem poupa uma tarde. No nginx, error_log /var/log/nginx/primeiro.tld.error.log; dentro do bloco do site.

O que acontece a um nome que não configurou

Se alguém apontar um domínio qualquer para o IP do seu VPS, o servidor responde com o primeiro site configurado, ou com o que estiver marcado como padrão. Isso mostra o seu site no nome de outra pessoa. Para evitar, marque um bloco como padrão (no nginx, listen 80 default_server;) que não devolve nada de útil, e deixe os sites verdadeiros só nos seus nomes.

Compartilha-se Convém separar
O processador, a memória e o disco do VPS A pasta de cada site, para um não ler o outro
O IP e as portas 80 e 443 Um banco de dados e um usuário de banco de dados por site
O servidor web e o PHP Os registros de cada site, para saber de quem é cada erro
O backup (que é seu) Os certificados por nome, não um para tudo
Um site comprometido compromete os vizinhos. Num VPS com vários sites sob o mesmo usuário, quem entrar por um site WordPress desatualizado alcança as pastas dos outros. Se os sites são de clientes diferentes, ou de importâncias muito diferentes, use usuários de sistema diferentes por site (permissões de arquivos) ou, melhor, VPS diferentes. Veja também manter o VPS seguro.
O e-mail não muda por pôr sites num VPS. Só o registro A (o site) aponta para o VPS; o MX continua onde estava. Veja e-mail conosco e o site em outro lado.

Quer saber se o seu VPS aguenta mais um site? Diga-nos o plano e o que pretende pôr lá, e ajudamos a ver os números do painel.

Abrir um pedido de suporte

VEJA TAMBÉM

Instalar o nginx e servir um site

Instalar o Apache e criar um virtual host

Apontar um domínio para o seu VPS

Planos de servidor VPS

PRODUTO RECOMENDADO

Servidor VPS com acesso root

Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde R$ 46,20/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.