Maison  >  Article  >  Opération et maintenance  >  Nginx surveille la configuration de l'état en temps réel et comprend l'état de fonctionnement du site Web à temps

Nginx surveille la configuration de l'état en temps réel et comprend l'état de fonctionnement du site Web à temps

WBOY
WBOYoriginal
2023-07-04 12:33:152212parcourir

Nginx surveille la configuration de l'état en temps réel et comprend l'état de fonctionnement du site Web à temps

Lorsque le site Web est en cours d'exécution, il est très important de connaître l'état en temps réel du serveur. Nginx est un logiciel de serveur Web très populaire qui fournit de nombreuses fonctions de surveillance pour nous aider à comprendre le fonctionnement du site Web. Cet article explique comment configurer la surveillance en temps réel de Nginx et fournit quelques exemples de code à titre de référence.

1. Installez Nginx
Tout d'abord, nous devons installer le serveur Nginx. Vous pouvez le compiler et l'installer, ou vous pouvez utiliser un gestionnaire de packages pour l'installer. En prenant le système Ubuntu comme exemple, vous pouvez utiliser la commande suivante pour installer :

sudo apt-get update
sudo apt-get install nginx

Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour vérifier si l'installation a réussi :

nginx -v

Si le numéro de version peut être affiché , cela signifie que l'installation est réussie.

2. Configurer le module de surveillance Nginx
Nginx fournit un module très pratique appelé ngx_http_stub_status_module, qui peut être utilisé pour surveiller l'état de Nginx en temps réel. Voici les étapes pour configurer ce module : ngx_http_stub_status_module,可以用来实时监控Nginx的状态。下面是配置该模块的步骤:

  1. 确认Nginx配置文件位置。通常情况下,Nginx的配置文件位于/etc/nginx/nginx.conf或者/etc/nginx/conf.d/default.conf。可以使用以下命令来确认配置文件的位置:

    nginx -t
  2. 编辑配置文件。使用文本编辑器打开Nginx的配置文件:

    sudo vi /etc/nginx/conf.d/default.conf
  3. 在配置文件中添加以下内容:

    location /nginx_status {
     stub_status on;
     access_log off;
     allow 127.0.0.1;
     deny all;
    }

    上述配置将在路径/nginx_status下开启状态监控,并限制只能通过本地访问。

  4. 保存并退出配置文件。重启Nginx服务使配置生效:

    sudo service nginx restart

三、访问Nginx状态监控页面
配置完成后,就可以通过浏览器访问Nginx的状态监控页面了。在浏览器地址栏中输入http://your_domain/nginx_status,其中your_domain是你的服务器域名或IP地址。如果配置正确,将会看到类似下面的页面:

Active connections: 1
server accepts handled requests
 16630948 16630948 31070446
Reading: 0 Writing: 1 Waiting: 0

其中,Active connections表示当前活跃连接数;acceptshandledrequests表示自Nginx启动以来的总请求数;ReadingWritingWaiting表示Nginx正在读取请求、写入响应和等待的连接数。

四、使用监控API获取状态数据
如果想要以编程的方式获取Nginx的状态数据,可以使用Nginx的监控API。以下是一个使用Python编写的示例代码,用于获取Nginx的状态信息:

import requests

def get_nginx_status():
    url = 'http://your_domain/nginx_status'  # 替换成你的nginx状态监控页面
    response = requests.get(url)
    if response.status_code == 200:
        status = response.text
        return status
    else:
        return None

status = get_nginx_status()
if status:
    print(status)
else:
    print('Failed to get Nginx status')

注意替换url变量为你的Nginx状态监控页面的URL。

通过调用get_nginx_status函数可以获取Nginx的状态信息,并将其打印出来。该函数返回的状态信息为一个字符串,与通过浏览器访问状态监控页面所看到的内容相同。

总结:
Nginx提供了强大的监控功能,可以帮助我们实时了解网站的运行情况。通过配置ngx_http_stub_status_module

  1. Confirmez l'emplacement du fichier de configuration Nginx. Normalement, le fichier de configuration Nginx se trouve dans /etc/nginx/nginx.conf ou /etc/nginx/conf.d/default.conf. Vous pouvez utiliser la commande suivante pour confirmer l'emplacement du fichier de configuration : 🎜rrreee
  2. 🎜Modifiez le fichier de configuration. Utilisez un éditeur de texte pour ouvrir le fichier de configuration Nginx : 🎜rrreee
  3. 🎜Ajoutez le contenu suivant dans le fichier de configuration : 🎜rrreee🎜La configuration ci-dessus permettra la surveillance de l'état sous le chemin /nginx_status code> et restreindre l’accès à l’accès local uniquement. 🎜
  4. 🎜Enregistrez et quittez le fichier de configuration. Redémarrez le service Nginx pour que la configuration prenne effet : 🎜rrreee
🎜3. Accédez à la page de surveillance de l'état de Nginx🎜Une fois la configuration terminée, vous pouvez accéder à la page de surveillance de l'état de Nginx via le navigateur. Saisissez http://your_domain/nginx_status dans la barre d'adresse du navigateur, où your_domain est le nom de domaine ou l'adresse IP de votre serveur. Si la configuration est correcte, vous verrez une page similaire à la suivante : 🎜rrreee🎜 Parmi elles, Connexions actives représente le nombre actuel de connexions actives accepte, >handled et requests indiquent le nombre total de requêtes depuis le démarrage de Nginx en Reading, Writing et Waiting ; > indique que Nginx lit le nombre de requêtes, de réponses écrites et de connexions en attente. 🎜🎜4. Utilisez l'API de surveillance pour obtenir des données d'état🎜Si vous souhaitez obtenir des données d'état de Nginx par programme, vous pouvez utiliser l'API de surveillance de Nginx. Voici un exemple de code écrit en Python pour obtenir des informations sur l'état de Nginx : 🎜rrreee🎜 Notez le remplacement de la variable url par l'URL de votre page de surveillance de l'état de Nginx. 🎜🎜Vous pouvez obtenir des informations sur l'état de Nginx en appelant la fonction get_nginx_status et en les imprimant. Les informations d'état renvoyées par cette fonction sont une chaîne identique à celle que vous voyez lorsque vous accédez à la page de surveillance de l'état via un navigateur. 🎜🎜Résumé : 🎜Nginx fournit de puissantes fonctions de surveillance qui peuvent nous aider à comprendre le fonctionnement du site Web en temps réel. En configurant le module ngx_http_stub_status_module, nous pouvons accéder directement à la page de surveillance de l'état de Nginx dans le navigateur ; en même temps, en utilisant l'API de surveillance de Nginx, nous pouvons également obtenir par programme les informations sur l'état de Nginx, ce qui est pratique. pour utilisation Traitement et analyse ultérieurs. Ce qui précède explique comment Nginx surveille la configuration de l'état en temps réel. J'espère que cela sera utile à tout le monde. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn