Nginx 是一个开源的轻量级 Web 服务器替代 apache 来处理高流量的网站。
凭借其所有应有的功能,它可以轻松地为您的站点管理负载平衡和反向代理,或者可以用作 POP 和 IMAP 的邮件服务器代理。
默认情况下,Nginx 在 80 端口上运行以处理 Web 流量请求,可以通过编辑配置文件将其更改为其他内容。
今天,不念将通过几个简单的步骤使你在 Linux 中更改 Nginx 端口。
先决条件
- 系统中的 Nginx Web 服务器
- 用于检查结果的 Web 浏览器(Chrome、Firefox 等)
如何在 Linux 中安装 Nginx(如果存在则跳过)
要为基于 Debian 或 RHEL 的发行版安装 Nginx Web 服务器,请确保您有正确的 Internet 连接并使用Ctrl+Alt+tor打开终端Ctl+Shift+t并执行以下命令。
PS: 安装需要更改系统,必须拥有 root 用户或sudo 帐户才能获得权限。
$ sudo apt install nginx [On Debian/Ubuntu]
$ sudo dnf install nginx [On CentOS/Fedora]
安装过程完成后,使用以下命令启动服务器守护进程。
$ sudo systemctl start nginx
由于您已经在各自的 Linux 系统中安装了 Nginx,您可以跳转到下一步继续更改 Linux 中的 Nginx 端口。
修改配置文件
更改默认 Nginx 端口需要修改配置文件。此配置文件位置可能因发行版而异。
对于Debian/Ubuntu发行版,需要修改的Nginx Web Server配置 文件位于/etc/nginx/sites-enabled/default
对于CentOS/Fedora发行版,需要修改的Nginx Web Server配置 文件位于/etc/nginx/nginx.conf
在 Linux 中更改 Nginx 端口
在开始更改默认端口的过程之前,请使用以下命令停止当前正在运行的服务器。
$ sudo systemctl stop nginx
使用以下命令验证进程是否已停止。
$ systemctl status nginx
要更改 HTTP 的默认端口 (80),请使用文本编辑器(nano、vim)根据您使用的分发类型修改以下 Nginx 配置文件。
$ sudo nano /etc/nginx/sites-enabled/default [On Debian/Ubuntu]
$ sudo nano /etc/nginx/nginx.conf [On CentOS/Fedora]
下面是上述默认和nginx.conf配置文件的输出。
Nginx 网页配置文件
Debian 中的 Nginx Web 配置文件
RHEL 中的 Nginx Web 配置文件
打开配置文件后,在文件中找到Listen 80和Listen [::]: 80
字符串,并将 80 替换为其他内容。对我来说,它是88 端口,如下所示。
修改后的 Nginx web 配置文件
Nginx Web 配置文件在 Debian 中进行了修改
在 RHEL 中修改的 Nginx Web 配置文件
为 Debian 或基于 Ubuntu 的发行版的修改保存配置后,使用以下命令启动或重新启动 Nginx 服务器。
$ sudo systemctl restart nginx [On Debian/Ubuntu]
在分配端口期间,基于 RHEL 的发行版(例如 CentOS 或 Fedora)要求您安装policycoreutils并添加 SELinux for nginx 所需的以下规则。
$ sudo dnf install policycoreutils
$ sudo semanage port -a -t http_port_t -p tcp 88
$ sudo semanage port -m -t http_port_t -p tcp 88
最后,重新启动 Nginx Web 服务器以应用更改。
$ sudo systemctl restart nginx
现在 Nginx 绑定到新的端口 88,您可以使用netstat命令检查本地网络套接字表,以找到 Nginx 端口,如下所示。
$ sudo netstat -tlpn| grep nginx
以下是上述命令的输出。
使用 netstat 命令检查本地网络套接字表
最后,打开您的 Web 浏览器(Chrome、Firefox 等)并输入http://localhost:88