Jak zmienić port Nginx w systemie Linux
Nginx to stabilny serwer typu open source, który obsługuje niektóre z witryn internetowych o największym ruchu obecnie w Internecie. Wśród usług sieciowych serwer WWW Nginx można z powodzeniem wdrożyć jako moduł równoważenia obciążenia, zwrotny serwer proxy sieci Web lub jako serwer proxy POP i IMAP.
Domyślnie serwer Nginx HTTP nasłuchuje połączeń przychodzących i łączy się z portem 80, który reprezentuje standardowy port sieciowy. Jednak konfiguracja TLS, która nie jest domyślnie włączona w Nginx, nasłuchuje bezpiecznych połączeń na porcie 443.
Aby serwer HTTP Nginx nasłuchiwał przychodzących połączeń internetowych na innych niestandardowych portach, musimy edytować główny plik konfiguracyjny i zmienić lub dodać nową instrukcję, która odzwierciedli ten fakt.
W systemie opartym na Ubuntu i Debianie musimy zmodyfikować plik /etc/nginx/sites-enabled/default i na RHEL i dystrybucje oparte na CentOS edytują plik /etc/nginx/nginx.conf.
Na początek otwórz plik konfiguracyjny Nginx za pomocą edytora tekstu i zmień numer portu, jak pokazano w poniższym fragmencie.
vi /etc/nginx/sites-enabled/default [On Debian/Ubuntu]
vi /etc/nginx/nginx.conf [On CentOS/RHEL]
W tym fragmencie skonfigurujemy serwer HTTP Nginx do nasłuchiwania połączeń przychodzących na porcie 3200. Wyszukaj linię zaczynającą się od instrukcji listen
w dyrektywie serwera i zmień port z 80 na 3200, jak pokazano na poniższym obrazku.
listen 3200 default_server;
Po zmianie instrukcji portu Nginx należy zrestartować serwer WWW, aby powiązać nowy port w dystrybucjach Linuksa opartych na Debianie. Sprawdź tabelę gniazd sieci lokalnej za pomocą polecenia netstat lub ss. Port 3200 powinien być wyświetlony w tabeli sieci lokalnej Twojego serwera.
systemctl restart nginx
netstat -tlpn| grep nginx
ss -tlpn| grep nginx
W dystrybucji Linuksa opartej na CentOS lub RHEL musisz zainstalować pakiet policycoreutils i dodać poniższe reguły wymagane przez SELinux, aby Nginx mógł powiązać się z nowym portem .
yum install policycoreutils
semanage port -a -t http_port_t -p tcp 3200
semanage port -m -t http_port_t -p tcp 3200
Na koniec zrestartuj serwer HTTP Nginx, aby zastosować zmiany.
systemctl restart nginx.service
Sprawdź gniazda nasłuchiwania tabel sieciowych.
netstat -tlpn| grep nginx
ss -tlpn| grep nginx
Aby sprawdzić, czy dostęp do serwera internetowego można uzyskać z komputerów w Twojej sieci, otwórz przeglądarkę i przejdź do adresu IP serwera lub nazwy domeny na porcie 3200. Powinieneś zobaczyć domyślną stronę internetową Nginx, jak pokazano na poniższym zrzucie ekranu.
http://sever.ip:3200
Jeśli jednak nie możesz przeglądać strony internetowej Nginx, wróć do konsoli serwera i sprawdź reguły zapory sieciowej, aby zezwolić na ruch przychodzący na porcie 3200/tcp.