Wyszukiwanie w witrynie

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.