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.