como criar vários sub-domínios no host local? [fechadas]

1

Usando nginx e php Eu preciso criar vários sub-domínios no host local. Como posso fazer isso acontecer?

Estou usando ubuntu 12.04 e php5 com nginx como servidor da Web.

Eu tentei *.servername.com no meu arquivo de configuração. Mas não está funcionando.

deixe-me esclarecer um pouco mais

diga que um usuário se inscreveu no meu site (example.com) e cria um micro site em qualquer nome que desejar (desde que o nome esteja disponível) diga que user1 é o nome dele e ele quer para criar um micro site como user1.example.com e isso deve acontecer dinamicamente. Já que criar host virtual de novo e de novo não é prático, por favor ajude

    
por thomas chacko 08.12.2014 / 11:55

1 resposta

1

Dado que o ponto crucial da sua questão está basicamente relacionado ao acesso a sites criados recentemente por usuários de seu site que foi projetado para permitir isso, você precisaria criar hosts virtuais para cada site criado (caso contrário seu servidor web teria nenhuma maneira de determinar qual site processar pedidos).

Você poderia criar automaticamente vhosts com base em um modelo e recarregar a configuração do nginx, mas eu não recomendaria isso - geralmente acho que esse nível de automação é indesejável e que você deve realmente cuidar das configurações individuais do site em uma base por usuário.

Você também precisaria criar um registro CNAME curinga apropriado de acordo com este artigo em seu DNS.

Editar: de acordo com os comentários abaixo, aqui está uma sugestão sobre o que você poderia implementar.

Você poderia, por exemplo, ter um arquivo de host virtual de modelo, contendo algo semelhante ao seguinte:

server {
        listen 80;
        listen 443 ssl;

        server_name  template.yourdomain.com;

        access_log      /var/log/nginx/template.yourdomain.com_access.log main;
        error_log       /var/log/nginx/template.yourdomain.com_error.log warn;

}

Que você poderia então replicar alterando as entradas de 'modelo' com o subdomínio da escolha do usuário. Depende do resto do seu ambiente, mas, por exemplo, você pode ter um campo de texto para permitir que ele insira o subdomínio desejado, e então fazer com que a ação 'enviar' (ou similar) acione um script criado para alterar a configuração acima arquivo para um apropriado para eles, copiando-o para theirdomain.yourdomain.com.conf e, em seguida, executando service nginx reload .

Esta é apenas uma vaga ideia do que você precisa fazer - os detalhes são feitos por você com base em seu ambiente e requisitos.

Como já disse, no entanto, você deve considerar as implicações de implementar isso.

    
por 08.12.2014 / 12:43