Вопрос: Возможно ли, что Nginx прослушивает разные порты?


Я создал один Nginx с одной Linux Azure VM, можно ли nginx прослушивать разные порты, чтобы при изменении номера порта контент был другим. Я обнаружил, что произойдет столкновение, если я создал два или более портов, связанных с HTTP на виртуальной машине. Может ли кто-нибудь помочь мне в этом?


49
2017-12-28 08:25


Источник




Ответы:


Да.

Вероятно, вам нужны несколько «серверных» строф, каждый с другим портом, но возможно (возможно?) Одно и то же имя_сервера, обслуживающее «различный» контент соответственно внутри каждого из них, возможно, с другим корнем документа на каждом сервере.

Полная документация находится здесь: http://nginx.org/en/docs/http/server_names.html

Пример:

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/
}

57
2017-12-28 08:36



Хорошее объяснение - billcyz
Это раздражает то, что нельзя делать listen 80 81; не так ли? Ну что ж... - Matt Fletcher
@MattFletcher Можно сделать что-то подобное, см. Комментарий Феликса: serverfault.com/a/755791/308219 - PaulMest


Вы также можете сделать следующее:

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

121
2018-02-12 11:53



Гораздо удобнее. Спасибо за помощь. - Krishnendu
Отлично. В частности, возможность изменения конфигурации сервера только в одном контексте сервера кажется намного превосходящим, чем риск смены одного и оставление другого без изменений ... - Aaron Sofaer