Table des matières
1. Introduction aux journaux " >1. Introduction aux journaux
2. Journal d'accès" >2. Journal d'accès
3、错误日志" >3、错误日志
Maison Opération et maintenance Nginx Comment analyser le journal des erreurs nginx

Comment analyser le journal des erreurs nginx

Jun 21, 2019 am 09:51 AM
nginx 错误日志

Comment analyser le journal des erreurs nginx

1. Introduction aux journaux

Il existe deux principaux types de journaux nginx : les journaux d'accès et les journaux d'erreurs. Le journal d'accès enregistre principalement chaque demande du client accédant à nginx, et le format peut être personnalisé ; le journal des erreurs enregistre principalement le journal lorsque le client accède à nginx et qu'une erreur se produit, et le format ne prend pas en charge la personnalisation. . Les deux journaux peuvent éventuellement être désactivés.

Grâce au journal d'accès, vous pouvez obtenir des informations pertinentes telles que la source géographique de l'utilisateur, la source du saut, l'utilisation du terminal, le nombre de visites à une certaine URL ; le journal des erreurs, vous pouvez Vous pouvez obtenir le goulot d'étranglement des performances d'un certain service système ou serveur, etc. Par conséquent, si vous faites bon usage des journaux, vous pouvez obtenir de nombreuses informations précieuses.

2. Journal d'accès

[Access.log]

log_format main '$remote_addr $remote_user [$time_local] "$request" $http_host '

'$status $upstream_status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $ssl_protocol $ssl_cipher $upstream_addr '

"$request_time $upstream_response_ time';

Nom de la variable

Description de la variable

Exemple

$remote_addr

Adresse du client

113.140.15.90

$remote_user

Nom d'utilisateur du client

-

$time_local

Visitez l'heure et le fuseau horaire

18/Jul/2012:17:00:01 +0800

$request

DemandéURI et HTTPProtocole

"GET /pa/img/home/logo-alipay-t.png HTTP / 1.1"

$http_host

Adresse de demande, c'est-à-dire l'adresse que vous saisissez dans le navigateur (IP ou nom de domaine)

img.alipay.com

10.253.70.103

$statut

HTTPStatut de la demande

200

$upstream_status

en amont Statut

200

$body_bytes_sent

Taille du contenu du fichier envoyé au client

547

$http_referer

Aller à la source

"https://cashier.alipay.com.../"

$http_user_agent

Agent de terminal utilisateur

"Mozilla/4.0 (compatible ; MSIE 8.0 ; Windows NT 5.1 ; Trident/4.0 ; SV1 ; GTB7.0 ; .NET4.0C ;

$ssl_protocol

SSLVersion du protocole

TLSv1

$ssl_cipher

Algorithmes en échange de données

RC4-SHA

$upstream_addr

Adresse

Backendamont, c'est-à-dire l'adresse de l'hôte qui fournit réellement les services

10.228.35.247:80

$request_time

Durée totale de la demande entière

0,205

$upstream_response_time

Pendant le processus de demande, amonttemps de réponse

0.002

 

线上实例:

116.9.137.90 - [02/Août/2012:14:47:12 +0800] "GET /images/XX/20100324752729.png HTTP/1.1"img.alipay.com 200 200 2038 https://cashier.alipay.com/XX/PaymentResult.htm?payNo=XX&outBizNo=2012XX " Mozilla/4.0 (compatible ; MSIE 8.0 ; Windows NT 6.1 ; Trident/4.0 ; SLCC2 ; .NET CLR 2.0.50727 ; .NET CLR 3.5.30729 ; .NET CLR 3.0.30729 ; Media Center PC 6.0 ; Tablet PC 2.0 ; 360SE )" TLSv1 AES128-SHA 10.228.21.237:80 0,198 0,001

 

线下测试( $http_referer):

10.14.21.197 - - [14/Août/2012:17:28:22 +0800] "GET /spanner/watch/v1?--db=ztg-1&--mode=compare&--index=status&--option=&--cluster=whole&-F=2012%2F8%2F12-00%3A00%3A00&-T =%2B2880&-i=1&-n=0&_=1344936501292 HTTP/1.1" 200 94193 "http://spanner.alipay.net/optionFrame/history.html" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML , comme Gecko) Chrome/21.0.1180.60 Safari/537.1"

Comment analyser le journal des erreurs nginx

 

备注:$http_referer和重定向有关。

 

线下测试($http_host ):

Comment analyser le journal des erreurs nginx

 

备注:$http_host的值和你在浏览器里输入的值有关。

3、错误日志

 

L'en-tête de réponse envoyé est invalideL'en-tête de réponse envoyé est invalide, corps

错误信息

错误说明

"en amont prématurément (过早的) connexion fermée"

请求uri的时候出现的异常,是由于en amont还未返回应答给用户时用户断掉连接造成的,对系统没有影响,可以忽略

"échec de recv() (104 : connexion réinitialisée par un homologue)"

1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉; 

2)客户关掉了浏览器,而服务器还在给客户端发送数据; 

3)浏览器端按了Arrêter

"(111 : Connexion refusée) lors de la connexion en amont"

用户在连接时,若遇到后端en amont挂掉或者不通,会收到该错误

"(111 : Connexion refusée) lors de la lecture de l'en-tête de réponse depuis l'amont"

Lorsque les utilisateurs lisent les données après une connexion réussie, si le backend en amont se bloque ou est bloqué, ils recevront cette erreur

"(111 : Connexion refusée) lors de l'envoi de la requête en amont"

Nginx et amont sont connectés avec succès et envoient des données, si le backend amont se bloque ou est bloqué, vous recevrez le erreur

"(110 : expiration du délai de connexion) lors de la connexion en amont "

nginx a expiré lors de la connexion au amont

"(110 : connexion expirée) lors de la lecture en amont"

nginxExpiration du délai lors de la lecture de la réponse de en amont

"(110 : expiration du délai de connexion) lors de la lecture de l'en-tête de réponse depuis l'amont"

nginxExpiration du délai lors de la lecture des en-têtes de réponse de en amont

"(110 : Délai de connexion expiré) lors de la lecture en amont"

nginxExpiration du délai lors de la lecture de la réponse de en amont

"(104 : Connexion réinitialisée par un homologue) lors de la connexion en amont"

en amontEnvoyer "En amont envoyé invalide" en-tête lors de la lecture de l'en-tête de réponse depuis l'amont"

en amont

"l'amont n'a envoyé aucun en-tête HTTP/1.0 valide lors de la lecture de l'en-tête de réponse de l'amont"

amont

"client destiné à envoyer un corps trop volumineux"

est utilisé pour définir la valeur maximale du contenu de la demande du client pouvant être accepté. La valeur par défaut est

1M
envoyé par 🎜>

client dépasse la valeur définie

"réouverture des journaux"L'utilisateur envoie kill -USR1

commande

"arrêt gracieux",

Utilisateur envoyé kill -WINCHCommand

"aucun serveur n'est à l'intérieur en amont"

amont n'est pas configuré sous serveur

"pas d'amont en direct lors de la connexion à l'amont"

amont serveurtous raccroché

"SSL_do_handshake( ) échec"

SSLÉchec de la prise de contact

"SSL_write() a échoué (SSL :) lors de l'envoi au client"

"(13 : Autorisation refusée) lors de la lecture en amont"

"(98 : Adresse déjà utilisée ) tout en se connectant à l'amont"

"(99 : Impossible d'attribuer l'adresse demandée) lors de la connexion en amont"

"Échec de ngx_slab_alloc() : pas de mémoire dans le cache partagé de la session SSL"

ssl_session_cache est causé par une taille insuffisante et d'autres raisons

"impossible d'ajouter une nouvelle session SSL au cache de session pendant la négociation SSL"

ssl_session_cache n'est pas assez grand, etc. Causes

"send() a échoué (111 : connexion refusée)"

Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel Nginx pour apprendre !

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la version nginx Comment vérifier la version nginx Apr 14, 2025 am 11:57 AM

Les méthodes qui peuvent interroger la version Nginx sont: utilisez la commande nginx -v; Afficher la directive de version dans le fichier nginx.conf; Ouvrez la page d'erreur Nginx et affichez le titre de la page.

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

Comment exécuter nginx apache Comment exécuter nginx apache Apr 14, 2025 pm 12:33 PM

Pour faire en sorte que Nginx exécute Apache, vous devez: 1. Installez Nginx et Apache; 2. Configurer l'agent Nginx; 3. Démarrer Nginx et Apache; 4. Testez la configuration pour vous assurer que vous pouvez voir le contenu Apache après avoir accédé au nom de domaine. De plus, vous devez faire attention à d'autres questions telles que la correspondance du numéro de port, la configuration de l'hôte virtuel et les paramètres SSL / TLS.

See all articles