Configurando a hospedagem VPS [fechada]

1

Estou tentando configurar minha própria hospedagem vps. Não será um serviço pago, apenas uma experiência para mim e para alguns amigos nerds.

O que eu gostaria de poder fazer é isto: Execute vários servidores virtuais em um IP externo. Esses servidores podem executar qualquer coisa, desde servidores Minecraft até simples servidores http. Eles também precisarão estar acessíveis através do SSH.

O que eu não entendo é como posso abordar esses servidores usando nomes de domínio. Eu fiz algumas pesquisas e descobri que eu poderia usar Vhosts com o Apache. No entanto, isso se aplica apenas a servidores http. Também foi sugerido que eu usasse um proxy reverso (squid), mas isso também se aplica apenas a solicitações http.

Eu poderia usar apenas portas diferentes para servidores diferentes, mas isso não é o ideal nem o que eu quero.

Alguém pode sugerir uma configuração? Talvez alguns tutoriais ou qualquer coisa.

    
por RobinFTW 10.01.2011 / 22:39

4 respostas

2

Você não pode acessar as máquinas virtuais por meio de nomes de domínio se tiver apenas 1 endereço IP (diferente do método de proxy http sugerido). Basta gastar alguns dólares extras e comprar uma classe de endereço IP / 29.

Quanto à virtualização, você tem algumas opções. A batalha principal agora é entre Xen e KVM, cada um com ferozes defensores. Atualmente estou usando o Xen e estou muito feliz com isso.

    
por 11.01.2011 / 00:05
1

Para obter uma separação completa dos serviços, você precisa aproveitar as máquinas virtuais. Eles podem ser configurados para compartilhar a mesma interface de rede e IP enquanto estiverem em um único servidor físico. Talvez seja necessário rotear o tráfego com um firewall de camada 7 no host antes de passar as conexões para as máquinas virtuais pelo menos para o tráfego HTTP. O SSH provavelmente só precisará usar portas diferentes, a menos que você modifique o daemon do OpenSSH. Nesta configuração você pode gerar um número de "sistemas de operação virtual" completamente independentes dentro de um único host. Em seguida, você pode atribuir uma VM a cada um de seus amigos, onde uma VM pode potencialmente executar vários sites HTTP virtuais em si. A VM age como um sistema operacional normal, sem saber que ela é realmente virtualizada, compartilhando recursos de CPU e memória com sistemas operacionais paralelos.

Eu não tenho certeza se você realmente precisa desse tipo de separação, mas isso vai conseguir o que você está procurando. Não espere que ele se adapte muito bem com a carga, sem gastar dinheiro com o seu hardware.

    
por 10.01.2011 / 22:49
1

sim, eu sinto um pouco de confusão no seu post. Uma máquina virtual (VM) é apenas isso; uma instância lógica e completamente separada, digamos, de hardware emulado no qual você instala um sistema operacional como o Linux ou o Windows.

Todos os conceitos HTTP e DNS não estão relacionados às VMs! Um domínio como o stackexchange.com pode ser hospedado em várias máquinas físicas ou virtuais para balancear a carga ou simplesmente manter o conteúdo separado.

Você pode hospedar vários domínios (stackoverflow.com, stackexchange.com) em um único endereço IP. Isso faz parte da especificação HTTP 1.1. Sob o Apache, ele é chamado de host virtual baseado em nome (vhosts, abreviado). O mesmo recurso existe no Microsoft IIS.

Como o software de servidor da Web (Apache e IIS) é executado no contexto de um sistema operacional (Linux e Windows, respectivamente), você precisa de uma VM ou hardware físico para executar o SO e o software do servidor da Web (apache, IIS) .

Apache / IIS (e outros) se ligam à pilha IP dentro do sistema operacional que, novamente, está sendo executado em uma VM ou em um hardware físico. A pilha IP e todo o gerenciamento relacionado ao gerenciamento de endereços IP, a resolução IP (chamada de resolvedor), é específica do sistema operacional. No Linux, por exemplo, você lida com /etc/resolv.conf em muitas distribuições ou pode configurar o BIND para responder a solicitações de DNS para converter coisas como stackoverflow.com em um endereço IP.

Assim, você pode ter uma única VM Linux executando o Apache e hospedando vários sites em um único endereço IP!

O truque é fazer com que o casamento entre o DNS e o software do servidor da Web funcione em conjunto ou em conjunto, para que os diferentes protocolos (http, dns) estejam corretos. NOTA: Você também pode hospedar o DNS fora de suas VMs.

espero que isso ajude

Para responder à outra parte da pergunta sobre como fazer com que um único IP público atinja várias VMs ou computadores físicos que executam sites, você precisa de um proxy reverso. O Apache faz isso; não tenho certeza sobre o IIS e há o HAProxy que também pode fazer isso.

Você pode, por exemplo, ter o HAProxy escutando o único IP PÚBLICO e rotear o tráfego para o servidor interno correto em um IP privado. Tenha em mente que há comunicação bidirecional aqui - por isso, uma resposta do seu servidor da Web precisa aparecer como se viesse do IP único.

    
por 02.04.2011 / 18:34
0

Não sei ao certo se funcionaria, é apenas algo em que estou pensando:
Você poderia tentar atribuir um endereço IPv6 a cada máquina que encapsula tudo através do endereço IPv4.

    
por 02.04.2011 / 17:20