Configurando o / etc / hosts para executar um aplicativo

0

Estou usando o nginx, até agora eu estava rodando meus aplicativos php em / usr / share / nginx / html que é a raiz do documento padrão quando o nginx está instalado no centOS e sistemas similares.

Agora eu tive que criar blocos de servidores (ou hosts virtuais) para executar outro aplicativo, seguido deste tutorial ( link ) e acabei criando meu aplicativo em / var / www / html.

Neste processo, como o tutorial declara para editar etc / hosts para o seu IP público, isso fez outra aplicação ser executada na minha LAN. Eu queria que ele fosse executado apenas na minha máquina, então eu mudei para o meu IP local e fiz a seguinte entrada para os hosts

192.168.0.38 dev.mysite.com www.dev.mysite.com 

Estranhamente, logo depois disso, percebi que meu nome de host mudara para

muUsername@dev instead of @localhost before
  1. Por favor, me diga por que isso aconteceu e como alterá-lo de volta.
  2. Agora o aplicativo é executado quando acesso o host local no navegador, mas não quando acesso o dev.mysite.com. Como corrigir isso?
  3. Ao acessar www.dev.mysite.com, recebo meu aplicativo antigo na antiga raiz da web (uss / share / nginx / html) Por que isso está acontecendo e como corrigir isso?

Precisa de mais alguma informação, por favor, comente.

    
por user1502178 10.10.2014 / 13:30

1 resposta

1

1) Isso acontece porque você está configurando um FQDN para sua máquina e o nome do host é considerado a parte do subdomínio neste caso. Isso se deve ao comportamento da função gethostname . Se você executar hosname -f , ele receberá o FQDN e hostname -d fornecerá o nome do domínio. Defina o nome da sua máquina antes de todos esses FQDNs.

Atualização : não prestou atenção você estava no centos, atualizou o segundo local do arquivo

/ etc / hosts:

192.168.0.38 mymachine dev.mysite.com www.dev.mysite.com  

/ etc / sysconfig / network:

HOSTNAME=mymachine  

Em seguida, reinicie .

2) Quando você atinge esse nome de domínio localmente, o kernel procurará /etc/hosts content em algum ponto e, em seguida, roteará a solicitação para sua interface de loopback. Você provavelmente perdeu um nome de servidor em sua configuração nginx.

3) Altere o caminho da raiz do documento para este nome de servidor.

server {
    listen 80;
    server_name www.dev.mysite.com;
    root /var/www/dev.mysite.com;
}

server {
    listen 80 default_server;
    server_name _;
    return 301 http://www.dev.mysite.com;
}
    
por 10.10.2014 / 16:33