如何在 Linux 中更改 Nginx 端口
Nginx 是一款开源稳定服务器,为当今互联网上一些流量最高的网站提供支持。在 Web 服务中,Nginx Web 服务器可以成功部署为负载均衡器、Web 反向代理或 POP 和 IMAP 代理服务器。
默认情况下,Nginx HTTP 服务器侦听传入连接并绑定在端口 80(代表标准 Web 端口)上。但是,Nginx 默认情况下未启用 TLS 配置,它会侦听端口 443 上的安全连接。
为了使 Nginx HTTP 服务器侦听其他非标准端口上传入的 Web 连接,我们需要编辑主配置文件并更改或添加新的语句来反映这一事实。
在基于Ubuntu和Debian的系统中,我们需要修改/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;
更改 Nginx 端口声明后,您需要重新启动 Web 服务器才能在基于 Debian 的 Linux 发行版上绑定新端口。使用 netstat 或 ss 命令验证本地网络套接字表。端口 3200 应显示在您的服务器本地网络表中。
systemctl restart nginx
netstat -tlpn| grep nginx
ss -tlpn| grep nginx
在基于 CentOS 或 RHEL 的 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
要检查是否可以从网络中的计算机访问 Web 服务器,请打开浏览器并导航到端口 3200 上的服务器 IP 地址或域名。您应该看到 Nginx 默认网页,如下面的屏幕截图所示。
http://sever.ip:3200
但是,如果您无法浏览 Nginx 网页,请返回服务器控制台并检查防火墙规则以允许端口 3200/tcp 上的传入流量。