Как запустить Nginx на нескольких портах
Я пытаюсь настроить nginx на двух портах с одним и тем же экземпляром, например на порту 80 и Порту 81, но пока не повезло. Вот пример того, что я пытаюсь сделать:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name chat.local.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_buffering off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 81;
server_name console.local.com;
location / {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_buffering off;
}
}
}
когда я пытаюсь запустить console.local.com, он показывает содержание от chat.local.com - ... Есть ли способ заставить nginx работать на двух портах? Заранее спасибо!
2 ответов
ваша конфигурация выглядит нормально
Я думаю, проблема в следующем (поправьте меня, если я ошибаюсь):
- у вас есть console.local.com слушаю порт 81,
- это означает, что вы должны открыть его как http://console.local.com:81/
- при доступе к нему как http://console.local.com/ (нет явного порта, поэтому по умолчанию используется порт 80) nginx проверит, заметит, что noting прослушивает порт 80 для этого имя_сервера, и следовательно, передаст запрос на сервер-блок по умолчанию. Поскольку сервер-блок defaut является первым (при отсутствии конфигурации для его изменения), вы попадаете в chat.local.com управляемость.
во всем likelyhood вы хотите изменить свой console.local.com слушать на порту 80 также с:
- директива server_name в обоих serverblocks достаточно, чтобы различать запросы
- это позволяет избежать необходимости добавлять: 81 в domainname в запросах все время
вы можете добавить оператор прослушивания 2 раза просто; как показано ниже
слушать 80;
слушай 81;
Это должно работать с nginx