如何在Linux中更改Nginx端口

为了使Nginx HTTP服务器监听其他非标准端口上的传入Web连接,我们需要编辑主配置文件并更改或添加新语句以反映此事实。

Nginx是一款开源稳定的服务器,支持当今互联网中一些最高流量的网站。 在Web服务中,Nginx Web服务器可以成功部署为负载平衡器,Web反向代理或POP和IMAP代理服务器。

默认情况下, Nginx HTTP服务器监听传入的连接并绑定到代表标准Web端口的端口80上 但是,Nginx默认未启用的TLS配置会监听端口443上的安全连接。

为了使Nginx HTTP服务器监听其他非标准端口上的传入Web连接,我们需要编辑主配置文件并更改或添加新语句以反映此事实。

在基于UbuntuDebian的系统中,我们需要修改/ etc / nginx / sites-enabled / default文件,并在RHEL和基于CentOS的发行版上编辑/etc/nginx/nginx.conf文件。

首先,用文本编辑器打开Nginx配置文件,然后按照下面的摘录所示更改端口号。

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

在这个片段中,我们将配置Nginx HTTP服务器来监听端口3200上的传入连接。 搜索服务器伪指令中以listen语句开头的行,并将端口从80更改为3200 ,如下图所示。

listen 3200 default_server;
在Ubuntu中更改Nginx端口

在Ubuntu中更改Nginx端口

在CentOS中更改Nginx端口

在CentOS中更改Nginx端口

在修改Nginx端口语句之后,您需要重新启动Web服务器以绑定基于Debian的Linux发行版上的新端口。 使用netstatss命令验证本地网络套接字表。 端口3200应显示在您的服务器本地网络表中。

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

在基于CentOSRHEL的Linux发行版中,您需要安装policycoreutils软件包并添加SELinux对Nginx所需的以下规则以绑定到新端口。

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

最后重新启动Nginx HTTP服务器以应用更改。

# systemctl restart nginx.service 

检查网络表监听套接字。

# netstat -tlpn| grep nginx
# ss -tlpn| grep nginx
验证Nginx新端口

验证Nginx新端口

要检查网络服务器是否可以从网络中的计算机访问,请打开浏览器并在端口3200上导航到您的服务器IP地址或域名。 你应该看到Nginx的默认网页,如下图所示。

http://sever.ip:3200 
Nginx默认页面

Nginx默认页面

但是,如果您无法浏览Nginx网页,请返回到服务器控制台并检查防火墙规则,以允许端口3200 / tcp上的传入流量。