Vyhledávání na webu

Jak změnit port Nginx v Linuxu


Nginx je stabilní server s otevřeným zdrojovým kódem, který dnes pohání některé z webů s nejvyšší návštěvností na internetu. Mezi webovými službami lze webový server Nginx úspěšně nasadit jako load-balancer, webový reverzní proxy nebo jako POP a IMAP proxy server.

Ve výchozím nastavení server Nginx HTTP naslouchá příchozímu připojení a váže se na port 80, který představuje standardní webový port. Konfigurace TLS, která není ve výchozím nastavení v Nginx povolena, však naslouchá zabezpečeným připojením na portu 443.

Aby server Nginx HTTP naslouchal příchozím webovým připojením na jiných nestandardních portech, musíme upravit hlavní konfigurační soubor a změnit nebo přidat nový příkaz, aby tuto skutečnost odrážel.

V systému založeném na Ubuntu a Debian musíme upravit soubor /etc/nginx/sites-enabled/default a na RHEL a distribuce založené na CentOS upravují soubor /etc/nginx/nginx.conf.

Nejprve otevřete konfigurační soubor Nginx pomocí textového editoru a změňte číslo portu, jak je znázorněno na níže uvedeném úryvku.

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

V tomto úryvku nakonfigurujeme server Nginx HTTP tak, aby naslouchal příchozím připojením na portu 3200. Vyhledejte řádek, který začíná příkazem listen v direktivě serveru a změňte port z 80 na 3200, jak je znázorněno na obrázku níže.

listen 3200 default_server;

Po změně příkazu portu Nginx musíte restartovat webový server, abyste se mohli vázat na nový port v distribucích Linuxu založených na Debianu. Ověřte tabulku soketů místní sítě pomocí příkazu netstat nebo ss. Port 3200 by měl být zobrazen v tabulce místní sítě vašeho serveru.

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

V linuxové distribuci založené na CentOS nebo RHEL musíte nainstalovat balíček policycoreutils a přidat níže uvedená pravidla vyžadovaná SELinux pro Nginx, aby se navázal na nový port .

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

Nakonec restartujte server Nginx HTTP, abyste použili změny.

systemctl restart nginx.service 

Zkontrolujte síťové tabulky naslouchající sokety.

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

Chcete-li zkontrolovat, zda je webový server přístupný z počítačů ve vaší síti, otevřete prohlížeč a přejděte na adresu IP serveru nebo název domény na portu 3200. Měli byste vidět výchozí webovou stránku Nginx, jak je znázorněno na níže uvedeném snímku obrazovky.

http://sever.ip:3200 

Pokud však nemůžete procházet webovou stránku Nginx, vraťte se do konzoly serveru a zkontrolujte pravidla brány firewall, abyste povolili příchozí provoz na portu 3200/tcp.