È possibile fare in modo che Nginx ascolti porte diverse?


82

Ho creato un Nginx con una VM Linux Azure, è possibile fare in modo che nginx ascolti porte diverse in modo che quando modifico il numero di porta, il contenuto sia diverso. Ho scoperto che ci sarebbe una collisione se avessi creato due o più porte correlate a HTTP su VM. Qualcuno mi può aiutare con questo?

Risposte:


90

Sì.

Ciò che probabilmente vuoi sono più stanze "server", ognuna con una porta diversa, ma possibilmente (probabilmente?) Lo stesso nome_server, che serve il contenuto "diverso" in modo appropriato all'interno di ciascuna, forse con una radice del documento diversa in ciascun server.

La documentazione completa è qui: http://nginx.org/en/docs/http/server_names.html

Esempio:

server {
    listen       80;
    server_name  example.org  www.example.org;
    root         /var/www/port80/
}

server {
    listen       81;
    server_name  example.org  www.example.org;
    root         /var/www/port81/
}

Buona spiegazione
billcyz,

16
È fastidioso che non si possa fare, listen 80 81;no? Oh bene ...
Matt Fletcher il

@MattFletcher È possibile fare qualcosa di simile, vedi il commento di Felix: serverfault.com/a/755791/308219
PaulMest

182

Puoi anche fare quanto segue:

server {
    listen 80;
    listen 8000;
    server_name example.org;
    root /var/www/;
}

2
Questo è fantastico In particolare, essere in grado di cambiare la configurazione del server in un solo contesto del server sembra molto superiore rispetto al rischio di cambiarne uno e lasciare invariato l'altro ...
Aaron Sofaer

6
Questo non risponde alla domanda posta da @billcyz. Ha chiesto porte diverse e contenuti diversi . Questa risposta offre porte diverse con lo stesso contenuto .
Isaac Sutherland,

@Krishnendu: "molto più conveniente"? più conveniente di cosa? Questo non risponde alla domanda OP. In tal caso, entrambi: 80 e 8000 indicano lo stesso contenuto. OP ha chiesto esplicitamente "quando cambio il numero di porta, il contenuto sarebbe diverso". Quindi, il post di Craig Miskell risponde molto meglio alla domanda di questo
cedbeu,

3
@cedbeu: Sì, hai ragione nel contesto della domanda posta a Craig Miskell, la risposta è più appropriata. Stavo cercando l'altra soluzione in cui ho bisogno di servire lo stesso contenuto su più porte, questo era esattamente ciò di cui avevo bisogno. Ancora una volta, per una determinata domanda posta ad altri è più appropriato, scusate se lo induco in errore, è stato un errore onesto da parte mia.
Krishnendu,

@Krishnendu nessun problema :) tutto chiarito ora
cedbeu
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.