如何启用 NGINX 状态页面?

linuxoperating systemopen source

简介

Web 服务器是互联网的核心,随着技术发展越来越快、越来越复杂,现代 Web 服务器需要能够处理大量请求。NGINX 是最受欢迎的开源 Web 服务器之一,它是一款高性能软件,提供可扩展性、安全性和可靠性。NGINX 因其易于使用、部署和配置而得到广泛应用,可用于各种用途。

在本文中,我们将讨论 NGINX 状态页面的含义、它的重要性、如何启用它、如何自定义它;启用后,使用状态页面生成的数据监控服务器性能。

了解 NGINX 状态页面

NGINX 状态页面的定义和用途

NGINX 状态页面是一项内置功能,提供有关 NGINX Web 服务器性能的最新信息。它显示各种指标的实时数据,包括服务器正常运行时间、请求处理时间、活动连接数和其他关键性能指标。

这些信息可帮助系统管理员监控服务器活动、识别瓶颈并及时解决问题。对于需要通过监控 HTTP 请求/响应周期来分析其应用程序如何与 Web 服务器交互的 Web 开发人员来说,状态页面是一个宝贵的工具。

状态页面上显示的不同指标

NGINX 状态页面上显示了几个关键指标,这些指标是确保服务器达到最佳性能所必需的。这些指标包括:-

  • 活动连接数 - 此指标显示当前与 nginx 服务器的活动连接数。

  • 已接受连接数 - 此指标指示自启动或重启 nginx 以来已接受的连接数。

  • 已处理请求数 - 此指标显示自启动或重启 nginx 以来已处理的请求数。

  • 总请求数 - nginx 服务器自运行以来处理的客户端请求总数。

  • Nginx 版本和构建信息 - 有关 nginx 版本的信息,例如构建版本、编译日期和时间。

  • CPU/内存使用率 - CPU 负载百分比以及 nginx 使用的内存量

这些指标为管理员提供了有关其服务器性能的宝贵信息。它们可以帮助管理员识别潜在的问题或吞吐量瓶颈,并帮助优化服务器资源。通过了解这些指标,开发人员还可以预测未来的流量负载并相应地做好系统准备。

启用 NGINX 状态页面

NGINX 状态页面默认处于禁用状态,需要在配置文件中启用。在修改配置文件之前,最好备份原始配置文件。

第一步是使用您喜欢的文本编辑器打开 NGINX 配置文件。

此文件的位置可能因服务器设置和操作系统而异,但常见位置包括"/etc/nginx/nginx.conf"或"/usr/local/etc/nginx/nginx.conf"。打开配置文件后,找到"http"块并添加以下代码 -

server { 
   listen 80; 
   server_name example.com; location /nginx_status { 
      stub_status on; access_log off; 
      allow 127.0.0.1; deny all; 
   }
} 

此代码为我们的 example.com 域名创建了一个新服务器块,该服务器块侦听 80 端口,并在 `/nginx_status` 处启用 NGINX 状态页面。`stub_status` 指令启用统计信息收集,而将 `access_log` 设置为 off 则禁用此特定位置块的日志记录。

提供启用状态页面的常用配置示例

您可以根据具体需求使用各种配置来启用 NGINX 状态页面。例如,如果您只想启用从本地主机收集统计信息,则可以将 `allow 127.0.0.1; deny all;` 替换为 `allow 192.168.10.0/24;`。拒绝所有;,允许来自指定范围内 IP 地址的连接(在本例中为 192.168.10.*),但阻止所有其他连接。

这可以通过将 `auth_basic` 和 `auth_basic_user_file` 指令添加到 `/nginx_status` location 块来实现。例如 -

location /nginx_status {
    stub_status on;
    access_log off; allow 127.0.0.1;
    deny all; auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

此代码添加了基本的 HTTP 身份验证来限制对状态页面的访问,并指定了一个包含用户凭据的密码文件 (`/etc/nginx/.htpasswd`)。

启用 NGINX 状态页面非常简单,只需修改配置文件并创建一个新的服务器块,其中包含用于启用统计信息收集和限制对状态页面访问的特定指令即可。

自定义 NGINX 状态页面

启用 NGINX 状态页面后,您可能希望自定义其外观以增强其可读性和可用性。幸运的是,自定义状态页面相对简单,可以使用 CSS 或 HTML 代码完成。

使用 CSS 进行自定义

自定义状态页面的一种方法是使用层叠样式表 (CSS)。使用 CSS,您可以更改状态页面布局和设计的各个方面。

例如,您可以更改页面上文本的字体大小和颜色,或者调整填充和边距以更好地突出显示某些元素。要使用 CSS 进行自定义,首先在服务器的根目录中创建一个名为"nginx_status.css"的新文件。

然后将所需的 CSS 代码添加到此文件。例如,如果您想将状态页面上所有文本的字体大小增加 1 像素,可以将以下代码添加到 nginx_status.css:```

body { font-size: 17px; } ``` 

请记住,使用 CSS 所做的更改只会影响状态页面在 Web 浏览器中的显示方式。它们不会改变页面上显示的任何数据。

使用 HTML 进行自定义

自定义状态页面的另一种方法是修改其底层 HTML 代码。这种方法允许进行更实质性的更改,因为它涉及到更改信息在实际网页上的呈现方式。要修改 HTML 进行自定义,首先找到服务器的默认 nginx_status.html 文件(通常位于 /usr/share/nginx/html/)。

创建此文件的副本,并将其重命名为"custom_nginx_status.html"。然后在文本编辑器中打开此新文件,并根据需要进行修改。

使用 NGINX 状态页面监控服务器性能

NGINX 状态页面提供宝贵的信息,可用于监控服务器性能并排查可能出现的任何问题。

通过定期检查状态页面,您可以实时了解重要指标的更新,例如活跃连接数、每秒请求数以及由于资源不足而被拒绝的连接数。

使用 NGINX 状态页面的数据进行故障排除

除了监控服务器性能外,NGINX 状态页面还可用于故障排除。例如,如果您注意到由于资源不足而导致大量请求被拒绝,这可能表明您的服务器已不堪重负,需要分配更多资源。或者,如果有大量打开的连接但没有活动请求,这可能表明您的应用程序存在问题,导致其无法正确关闭连接。

状态页面的另一个有用功能是它能够显示哪些客户端 IP 正在发出请求以及哪些 URL 正在被访问。

结论

启用和自定义 NGINX 状态页面是监控 Web 服务器性能的好方法。状态页面提供有关服务器活动的宝贵信息,例如活动连接、每秒请求数和 CPU 使用率。通过监控这些数据,您可以在潜在问题发展成影响网站可用性的严重问题之前发现它们。


相关文章


有用资源