2013-10-22 14 views
8

Per lo sviluppo, vorrei servire più progetti su domini locali diversi, tutti sulla porta 80. Nel mio file hosts dirigo local.example.com a localhost, lo stesso per local.example2.com.Come faccio a servire più domini sulla stessa porta con nginx

Ora sto cercando di convincere nginx a servire le risorse di esempio per l'url e le risorse example2 per l'altro.

Ho letto la documentazione di nginx e this blog post. Ma penso che mi debba mancare qualcosa.

Ho aggiunto al mio nginx.conf:

include /Users/iwein/Sites/conf/*.conf; 

Poi in siti aggiungo configurazione come example.conf:

server { 
    listen 80; 
    server_name local.example.com; 
… 

e example2.conf:

server { 
    listen 80; 
    server_name local.example2.com; 
… 

Ora la strana la cosa è che nginx sembra caricare la prima configurazione in ordine alfabetico, ma sul secondo URL, si rve anche le risorse dalla prima definizione del server. Nginx sembra ignorare totalmente il nome_server. Come dovrei configurare per questo caso d'uso?

UPDATE:

Sembra che se si utilizza solo un separatore nel nome di dominio (ad esempio example1.local), funziona bene. Non l'ho approfondito ulteriormente, perché ho cose migliori da fare, ma è strano.

+0

hai ricaricato la configurazione di nginx dopo aver creato quei file? perché sembrano essere corretti. –

+0

Sì, l'ho fatto @MohammadAbuShady. Diverse volte – iwein

+0

beh la seconda ipotesi è che l'URL che stai richiedendo non corrisponde a 'server_name's o corrisponde a quello sbagliato, o forse hai un altro server che corrisponde alla stessa richiesta? e viene colpito prima di questo. –

risposta

1

Apparentemente, a nginx non piace il formato dei nomi dei miei server. Se rimuovo il sottodominio "locale" sembra funzionare molto meglio. Ora sto lavorando con example.dev e example2.dev e il problema è scomparso.

Problemi correlati