


Comment résoudre l'erreur de serveur interne de l'invite 500 de 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 :
* hard nofile 65535
2 Ouvrez /etc/nginx/nginx.conf
Ajoutez une ligne sous work_processes
Copiez le code Le code est le suivant :
Copier le code Le code est le suivant :
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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.

É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? 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 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.

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.

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 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.
