Hvordan endre Nginx-port i Linux


Nginx er en åpen kildekode stabil server som driver noen av de mest trafikkerte nettstedene på internett i dag. Blant webtjenester kan Nginx-webserver med suksess distribueres som en belastningsbalanser, nettomvendt proxy eller som en POP- og IMAP-proxyserver.

Som standard lytter Nginx HTTP-serveren etter innkommende tilkobling og binder seg til port 80, som representerer standard nettport. TLS-konfigurasjonen, som ikke er aktivert som standard i Nginx, lytter imidlertid etter sikre tilkoblinger på port 443.

For å få Nginx HTTP-server til å lytte etter innkommende nettforbindelser på andre ikke-standardporter, må vi redigere hovedkonfigurasjonsfilen og endre eller legge til en ny uttalelse for å gjenspeile dette faktum.

I Ubuntu- og Debian-baserte systemer må vi endre /etc/nginx/sites-enabled/default-filen og på RHEL - og CentOS-baserte distribusjoner redigerer /etc/nginx/nginx.conf-filen.

Til å begynne med, åpne Nginx-konfigurasjonsfilen med et tekstredigeringsprogram, og endre portnummeret som vist i utdraget nedenfor.

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

I dette utdraget konfigurerer vi Nginx HTTP-serveren til å lytte etter innkommende tilkoblinger på port 3200. Søk etter linjen som begynner med listen-setningen i serverdirektivet og endre porten fra 80 til 3200, som illustrert i bildet nedenfor.

listen 3200 default_server;

Etter å ha endret Nginx-portsetningen, må du starte webserveren på nytt for å binde deg til den nye porten på Debian-baserte Linux-distribusjoner. Bekreft tabell over lokale nettverkskontakter med netstat eller ss-kommando. Port 3200 skal vises i serverens lokale nettverkstabell.

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

I CentOS- eller RHEL-basert Linux-distribusjon må du installere pakken policycoreutils og legge til reglene nedenfor som kreves av SELinux for at Nginx skal binde seg til den nye porten .

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

Start til slutt Nginx HTTP-serveren på nytt for å bruke endringer.

systemctl restart nginx.service 

Sjekk nettverkstabellens lyttekontakter.

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

For å sjekke om webserveren kan nås fra datamaskiner i nettverket ditt, åpne en nettleser og naviger til serverens IP-adresse eller domenenavn på port 3200. Du bør se Nginx standard nettside, som illustrert i skjermbildet nedenfor.

http://sever.ip:3200 

Men hvis du ikke kan bla gjennom Nginx-nettsiden, gå tilbake til serverkonsollen og sjekk brannmurreglene for å tillate innkommende trafikk på port 3200/tcp.