2015-10-10 11 views
15

Chcę uruchomić www.example.com i api.example.com na tym samym porcie 80.Nginx wiele bloków serwera nasłuchujących na tym samym porcie

To jest to, co mam. Wszystkie moje pingowanie googles prowadzi do poniższego kodu. Ale to nie działa.

server { 
     listen 80 default_server; 
#  listen [::]:80 default_server ipv6only=on; 

     root /var/www/example.com/html/example/app; 
     index index.html index.htm; 

     # Make site accessible from http://localhost/ 
     server_name www.example.com www.example.org; 

     location/{ 
       # First attempt to serve request as file, then 
       # as directory, then fall back to displaying a 404. 
       try_files $uri $uri/ =404; 
       # Uncomment to enable naxsi on this location 
       # include /etc/nginx/naxsi.rules 
     } 

     location /bower_components { 
       alias /var/www/example.com/html/example/bower_components; 
     } 

     location /scripts { 
       alias /var/www/example.com/html/example/scripts; 
     } 

     location /content { 
       alias /var/www/example.com/html/example/content; 
     } 

     location /api { 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_pass http://127.0.0.1:3836; 
     } 
} 

server { 
     listen 80 
     server_name api.example.com 

     location/{ 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_pass http://127.0.0.1:3836; 
     } 
} 

Nie znam powodu. Wszelkie sugestie na ten temat?

Dzięki!

+0

Brakuje katalogu głównego na wirtualnym hoście "api.example.com". – C1sc0

Odpowiedz

12

Tworzenie oddzielnie dwa pliki (nie trzeba, ale to będzie dużo jaśniejszy) w /etc/nginx/sites-available/www.example.com i /etc/nginx/sites-available/api.example.com

pliku api.example.com za conten

server { 
     listen 80 
     server_name api.example.com 
     root /var/www/api.example.com/html/example/app; #also add a root dir here 
     location/{ 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_pass http://127.0.0.1:3836; 
     } 
} 

www.example zawartość .COM za:

server { 
     listen 80 default_server; 
#  listen [::]:80 default_server ipv6only=on; 

     root /var/www/example.com/html/example/app; 
     index index.html index.htm; 

     # Make site accessible from http://localhost/ 
     server_name www.example.com www.example.org; 

     location/{ 
       # First attempt to serve request as file, then 
       # as directory, then fall back to displaying a 404. 
       try_files $uri $uri/ =404; 
       # Uncomment to enable naxsi on this location 
       # include /etc/nginx/naxsi.rules 
     } 

     location /bower_components { 
       alias /var/www/example.com/html/example/bower_components; 
     } 

     location /scripts { 
       alias /var/www/example.com/html/example/scripts; 
     } 

     location /content { 
       alias /var/www/example.com/html/example/content; 
     } 

     location /api { 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_pass http://127.0.0.1:3836; 
     } 
} 

i wreszcie umożliwić dziedzinach: sudo ln -s /etc/nginx/sites-available/www.example.com /etc/nginx/sites-enabled/www.example.com i sudo ln -s /etc/nginx/sites-available/api.example.com /etc/nginx/sites-enabled/api.example.com

+0

Nie jestem w stanie zrozumieć, co masz na myśli, mówiąc: "Dodaj również plik wirtualny hosta www.example.com do pliku konfiguracyjnego:". Czy możesz wyjaśnić więcej? –

+1

Jeśli to nie działa, jaki jest wynik polecenia 'tail -f/var/log/nginx/error.log', jeśli próbujesz wejść na stronę? – C1sc0

+0

Dziękuję bardzo. Posortowałem to. –

Powiązane problemy