Как изменить порт 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.