Maison Opération et maintenance Nginx Comment résoudre l'erreur de serveur interne de l'invite 500 de Nginx

Comment résoudre l'erreur de serveur interne de l'invite 500 de Nginx

May 27, 2023 pm 11:27 PM
nginx

Dans le cas de connexions concurrentes élevées, nginx est une bonne alternative au serveur Apache. nginx peut également être utilisé comme serveur d'équilibrage de charge de couche 7. Selon les résultats des tests, nginx 0.6.31 + php 5.2.6 (fastcgi) peut supporter plus de 30 000 connexions simultanées, ce qui équivaut à 10 fois celui d'Apache dans le même environnement.
Mais de nombreuses personnes recevront 500 erreurs lors de l'utilisation de nginx. Selon mon utilisation, cela est en grande partie dû au fait que le handle d'ouverture du fichier est trop petit.
Sous Linux, utilisez cette commande pour augmenter le descripteur de fichier ouvert par le processus.
ulimit -shn 51200
Seul 1000 est utilisé par défaut. Il n'est pas visible lorsque le nombre de liens est petit. L'utilisation de cette méthode de traitement peut efficacement empêcher que 500 erreurs ne se produisent.
Lorsque j'ai visité le site Web aujourd'hui, j'ai parfois rencontré une page d'erreur de serveur interne 500.
Après avoir vérifié les informations pertinentes, j'ai pensé que cela était dû à un accès excessif et à des processus limités du noyau système.
La réponse est la suivante :
$ ulimit. -n
11095
La limite du programme ne peut ouvrir que 11095 fichiers. La commande ulimit consiste à définir le nombre de descripteurs de fichiers que l'utilisateur actuel peut avoir dans un seul processus.
Il semble que le nombre de simultanéités simulées soit trop élevé. pour ajuster le nombre de paramètres de concurrence dans nginx.conf , (la mémoire de mon hôte de configuration est de 2 Go et le processeur est de 2,8 Go,)

Copiez le code Le code est le suivant :

vi /etc/nginx/ nginx.conf
events {
worker_connections 1024;
}

AdJust to

copy code Le code est le suivant:

Events {
worker_connections 10240;
}

Le problème ci-dessus se produira toujours, utilisez
[racine @qimutian nginx]# cat /proc/sys/fs/file-max
8192
Le système de fichiers est le plus grand Le nombre de fichiers ouverts
[root@qimutian nginx]# ulimit -n
1024
Les limites du programme ne peuvent s'ouvrir que 1024 fichiers
Utilisez [root@qimutian nginx]# ulimit -n 8192 pour l'ajuster
ou ajustez définitivement le nombre de fichiers ouverts dans Ajouter à la fin du fichier de démarrage /etc/rc.d/rc.local (ajoutez fs. file-max=8192 à la fin de /etc/sysctl.conf)
ulimit -n 8192
Ajustez le nombre d'ouvertures de fichiers centos5
Utilisez ulimit -a, il a été constaté que les fichiers ouverts ne peuvent pas dépasser 1024 par défaut. test hier, une erreur 500 s'est produite. Veuillez vérifier les détails.
Une erreur de serveur interne 500 s'est produite dans nginx. Quand je me suis réveillé et j'ai jeté un coup d'œil le matin, j'ai découvert qu'elle avait été ajustée comme suit.
vi /etc/security/limits.conf
Ajouter à la fin du fichier :
* soft nofile 8192
* hard nofile 20480
En même temps, ajouter
fs.file-max=8192 à la fin de vi / etc/sysctl.conf
Redémarrez, le numéro vérifié avec ulimit -n est déjà 8192
Méthode 2 (utilisation temporaire)
Saisissez ulimit -n 8192 directement dans le terminal et appuyez sur Entrée et ce sera OK

500 erreur de serveur interne Erreur supplément :
1. L'espace disque est plein Utilisez df -k pour vérifier si l'espace disque est plein. Libérer de l'espace sur le disque dur peut résoudre 500 erreurs. Si le journal d'accès est activé dans nginx, il est préférable de fermer le journal d'accès lorsqu'il n'est pas nécessaire. Le journal d'accès occupe beaucoup d'espace sur le disque dur.
2. Erreur du fichier de configuration nginx
Cela ne fait pas référence aux erreurs grammaticales si nginx a une erreur grammaticale dans le fichier de configuration, il vous le demandera au démarrage. Lors de la configuration de la réécriture, 500 erreurs peuvent se produire si certaines règles ne sont pas gérées correctement. Veuillez vérifier attentivement vos règles de réécriture. Si certaines variables du fichier de configuration sont mal définies, une erreur 500 se produira également, par exemple en faisant référence à une variable sans valeur.
3. Si aucun des problèmes ci-dessus n'existe, il se peut que le nombre de simultanéités simulées soit trop élevé. Vous devez ajuster le nombre de paramètres de simultanéité dans nginx.conf. La solution est la suivante :
1 Ouvrez le fichier /etc/security. /limits.conf et ajoutez deux phrases


Copiez le code Le code est le suivant :

* soft nofile 65535

* hard nofile 65535

2 Ouvrez /etc/nginx/nginx.conf
Ajoutez une ligne sous work_processes


Copiez le code Le code est le suivant :

worker_rlimit_nofile 65535;

3 Redémarrez nginx et rechargez les paramètres

Copier le code Le code est le suivant :

kill -9 `ps -ef | grep -v grep | -hup nginx

Redémarrez puis regardez le journal des erreurs nginx, aucune erreur 500 n'a également été trouvée.

4. Il s'agit peut-être d'un problème de base de données. Je n'ai trouvé aucun problème dans le journal nginx ou php. Finalement, j'ai constaté que la base de données n'était pas accessible. Après la correction, le problème a été résolu.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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 résoudre nginx403 Comment résoudre nginx403 Apr 14, 2025 am 10:33 AM

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

Comment résoudre l'erreur Nginx403 Comment résoudre l'erreur Nginx403 Apr 14, 2025 pm 12:54 PM

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Comment démarrer Nginx dans Linux Comment démarrer Nginx dans Linux Apr 14, 2025 pm 12:51 PM

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

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 configurer l'équilibrage de charge dans nginx Comment configurer l'équilibrage de charge dans nginx Apr 14, 2025 am 08:33 AM

Comment configurer Nginx pour l'équilibrage de charge? Définit le pool de serveur en amont et spécifie l'IP et le port du serveur. Définissez les hôtes virtuels, écoutez les connexions et transmettez-les au pool en amont. Spécifiez l'emplacement, faites correspondre la demande et transmettez-le au pool en amont.

Comment vérifier l'état de course de Nginx Comment vérifier l'état de course de Nginx Apr 14, 2025 am 11:48 AM

Les méthodes pour afficher l'état en cours d'exécution de Nginx sont: utilisez la commande PS pour afficher l'état du processus; Afficher le fichier de configuration Nginx /etc/nginx/nginx.conf; Utilisez le module d'état NGINX pour activer le point de terminaison d'état; Utilisez des outils de surveillance tels que Prometheus, Zabbix ou Nagios.

Comment résoudre l'erreur Nginx304 Comment résoudre l'erreur Nginx304 Apr 14, 2025 pm 12:45 PM

Réponse à la question: 304 Erreur non modifiée indique que le navigateur a mis en cache la dernière version de ressource de la demande du client. Solution: 1. Effacer le cache du navigateur; 2. Désactiver le cache du navigateur; 3. Configurer Nginx pour permettre le cache client; 4. Vérifier les autorisations du fichier; 5. Vérifier le hachage du fichier; 6. Désactiver le CDN ou le cache proxy inversé; 7. Redémarrez Nginx.

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.

See all articles