Поиск по сайту:

Как изменить порт Nginx в Linux


Nginx — это стабильный сервер с открытым исходным кодом, на котором сегодня работают некоторые из самых посещаемых веб-сайтов в Интернете. Среди веб-сервисов веб-сервер Nginx можно успешно развернуть в качестве балансировщика нагрузки, обратного веб-прокси или прокси-сервера POP и IMAP.

По умолчанию сервер Nginx HTTP прослушивает входящее соединение и привязывается к порту 80, который представляет собой стандартный веб-порт. Однако конфигурация TLS, которая по умолчанию не включена в Nginx, прослушивает безопасные соединения через порт 443.

Чтобы заставить HTTP-сервер Nginx прослушивать входящие веб-соединения через другие нестандартные порты, нам необходимо отредактировать основной файл конфигурации и изменить или добавить новый оператор, отражающий этот факт.

В системах на базе Ubuntu и Debian нам необходимо изменить файл /etc/nginx/sites-enabled/default и RHEL. Дистрибутивы на базе и CentOS редактируют файл /etc/nginx/nginx.conf.

Для начала откройте файл конфигурации Nginx в текстовом редакторе и измените номер порта, как показано в приведенном ниже фрагменте.

vi /etc/nginx/sites-enabled/default  [On Debian/Ubuntu]
vi /etc/nginx/nginx.conf             [On CentOS/RHEL]

В этом отрывке мы настроим HTTP-сервер Nginx для прослушивания входящих соединений через порт 3200. Найдите строку, которая начинается с оператора listen в директиве сервера, и измените порт с 80 на 3200, как показано на рисунке ниже.

listen 3200 default_server;

После изменения оператора порта Nginx вам необходимо перезапустить веб-сервер, чтобы привязать новый порт в дистрибутивах Linux на основе Debian. Проверьте таблицу сокетов локальной сети с помощью команды netstat или ss. Порт 3200 должен отображаться в таблице локальной сети вашего сервера.

systemctl restart nginx
netstat -tlpn| grep nginx
ss -tlpn| grep nginx

В дистрибутиве Linux на базе CentOS или RHEL вам необходимо установить пакет policycoreutils и добавить приведенные ниже правила, необходимые SELinux для привязки Nginx к новому порту. .

yum install policycoreutils
semanage port -a -t http_port_t -p tcp 3200
semanage port -m -t http_port_t -p tcp 3200

Наконец, перезапустите HTTP-сервер Nginx, чтобы применить изменения.

systemctl restart nginx.service 

Проверьте сокеты прослушивания сетевых таблиц.

netstat -tlpn| grep nginx
ss -tlpn| grep nginx

Чтобы проверить, доступен ли веб-сервер с компьютеров в вашей сети, откройте браузер и перейдите к IP-адресу или доменному имени вашего сервера через порт 3200. Вы должны увидеть веб-страницу Nginx по умолчанию, как показано на снимке экрана ниже.

http://sever.ip:3200 

Однако, если вы не можете просмотреть веб-страницу Nginx, вернитесь в консоль сервера и проверьте правила брандмауэра, разрешающие входящий трафик через порт 3200/tcp.