Comment gérer le serveur Apache s'arrêtant fréquemment
Vérifiez les journaux d'erreur Apache sur /var/log/apache2/error.log ou / var / log / httpd / error_log pour les segfaults, les erreurs d'autorisation, les défaillances du module ou les messages OOM à l'aide de Tail -F pendant le redémarrage. 2. Surveiller les ressources du système avec HTOP, haut ou libre -H; Réduisez MaxRequestworkers dans mpm_prefork.conf Si la mémoire est faible, envisagez de passer à l'événement MPM ou de mettre à niveau la RAM. 3. Étude des défauts de segmentation ou des conflits de modules en désactivant les modules non essentiels comme MOD_SECURITY ou MOD_PHP un par un et garantissant la compatibilité des logiciels. 4. Vérifiez DMESG | grep -i «processus tué» pour l'activité du tueur oom; Réduisez MaxRequestworkers, augmentez l'échange ou ajustez OOM_SCORE_ADJ pour protéger Apache. 5. Configurez SystemD en APACHE-RESTART AUTO en ajoutant Restart = Always and RestartSec = 10 dans le fichier de service, puis rechargez avec SystemCTL Daemon-Exec && SystemCTL Activer Apache2, et utilisez des outils de surveillance comme Monit ou Cron pour détecter les pannes tôt. Les arrêts d'apache fréquents sont généralement causés par l'épuisement des ressources, les erreurs de configuration ou les modules instables, et les résoudre nécessite de vérifier les journaux, d'optimiser l'utilisation des ressources, de désactiver les modules problématiques, de prévenir les tués OOM et de configurer la restauration automatique et de surveiller la stabilité.
L'arrêt du serveur Apache peut fréquemment peut être frustrant, en particulier sur les systèmes de production. Il pointe généralement des problèmes sous-jacents tels que l'épuisement des ressources, les erreurs de configuration ou les conflits logiciels. Voici comment diagnostiquer et résoudre efficacement le problème.

1. Vérifiez les journaux d'erreur Apache
La première étape consiste toujours à inspecter les journaux d'erreur Apache. Ils contiennent souvent des indices spécifiques sur la cause de l'accident.
- Sur la plupart des systèmes Linux, le journal est situé à:
/var/log/apache2/error.log # debian / ubuntu / var / log / httpd / error_log # rhel / centos
- Recherchez les entrées récentes à l'époque où Apache s'est arrêté. Les problèmes courants comprennent:
- Fauteurs de segmentation (segfaults)
- Permission refusée des erreurs
- Échecs de chargement du module
- Messages hors mémoire (OOM)
Conseil de pro: utilisez
tail -f /var/log/apache2/error.log
tout en redémarrant Apache pour surveiller les erreurs en temps réel.
2. Surveiller les ressources du système
Apache peut s'arrêter si le serveur manque de mémoire ou de CPU.
- Exécutez
htop
,top
oufree -h
pour vérifier la mémoire et l'utilisation du processeur. - Si la mémoire est systématiquement maximale:
- Réduisez le nombre de processus enfants Apache.
- Passez de
prefork
àevent
MPM (si vous utilisez PHP viaphp-fpm
). - Envisagez de mettre à niveau la RAM ou d'optimiser les autres services de course.
Pour le module prefork
d'Apache (commun avec mod_php), ajustez ces paramètres dans /etc/apache2/mods-available/mpm_prefork.conf
(ubuntu) ou /etc/httpd/conf/httpd.conf
(Centos):

<Ifmodule mpm_prefork_module> Starterservers 2 MinSpareServers 2 MaxspareServers 5 MaxRequestworkers 50 # plus bas si RAM est limité MaxConnectionsPerchild 1000 </fmodule>
Chaque processus Apache peut utiliser 20 à 100 Mo en fonction des modules chargés et du trafic. Ainsi, 50 travailleurs peuvent avoir besoin de 1 à 5 Go de RAM.
3. Vérifiez les défauts de segmentation ou les conflits de module
Des accidents fréquents sans erreur claire peuvent provenir de modules défectueux.
- Désactiver les modules non essentiels un par un:
a2Dismod module_name # sur Debian / Ubuntu
- TRUPLEMENTS communs:
mod_security
,mod_php
, modules tiers. - Si vous avez récemment installé un module ou un PHP mis à jour, essayez de revenir en arrière.
Assurez-vous également que tous les packages Apache et PHP sont compatibles et à jour.
4. empêcher les signaux de mise à mort externes (Oom Killer)
Linux peut tuer les processus Apache si le système manque de mémoire.
- Vérifiez les journaux système:
dmesg | grep -i 'killed process'
- Si les processus Apache sont tués par un tueur OOM (hors de la mémoire):
- Réduire
MaxRequestWorkers
- Augmenter temporairement l'espace d'échange
- Optimiser d'autres services lourds de la mémoire (par exemple, MySQL)
- Réduire
Vous pouvez également ajuster les scores Oom Killer pour Apache:
echo -100> / proc / $ (pgrep apache2 | head -1) / oom_score_adj
(Faites-le via un script de démarrage si nécessaire.)
5. Configurer la surveillance et la rediffusion automatique
Même après les correctifs, utilisez la surveillance pour prendre les problèmes tôt.
Utilisez
systemd
pour Auto-Restart Apache: modifiez le fichier de service Apache (/etc/systemd/system/multi-user.target.wants/apache2.service
) et ajoutez:[Service] Redémarrer = toujours RestartSec = 10
Puis recharger:
systemctl daemon-reexec && systemctl enable apache2
-
Utilisez des outils comme:
-
monit
pour surveiller Apache et redémarrer si vous -
cron
Job pour vérifier le statut Apache toutes les quelques minutes - Logwatch ou Fail2ban pour détecter les anomalies
-
Fondamentalement, les arrêts d'apache fréquents sont rarement aléatoires. Ils sont généralement dus à des limites de ressources ou à des problèmes logiciels. Commencez par les journaux, puis évaluez la mémoire, la configuration et les modules. Ajuster les paramètres des travailleurs, désactiver les modules instables et configurer la répartition automatique comme filet de sécurité. Ce n'est pas complexe, mais cela nécessite une vérification méthodique.
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

Undress AI Tool
Images de déshabillage gratuites

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.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

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)

ActiverVirtualHostsByenSuring incluatationalSites-Senved / *. ConfisunCommentEdInapacheConfig.2.CreateAavirtualHostFilein / etc / apache2 / Sites-AvailableWithServerName, DocumentRoot, andLogPaths.3.pointdomaintolocalhostvia / etc.

ConfigureAPacheforefficientStaticFileservingByenableMod_expiresForBrowscaching, settinglongexpirytimesforAssets lisemagesandcss; useMod_deflatetoCompressText-basasedFileSuchashtml, CSS etjavascript; EnserecorrectmimetyPeswithMod_MimeTocriptRendern

A403ForBidDenerroroccurSwhenapachelackSproperperMissionsorConfigurationStoAccessFiles; CheckFileAndDirectoryPermisessionsusingChmod644ForfilesandChmod755fortectories, EnsecorrectOwnershipwithChow

ApachecanBeConfiguredToworkwithphp-fpmusingmod_proxyandmod_proxy_fcgi.first, installPhp-fpmandrequiredapachemodules.onubuntu / d Ebian: sudoaptinstallphp-fpmapache2libapache2-mod-proxy-fcgi; oncentos / rhel: sudoyuminstallphp-fpmhttpdmod_proxy_fcgi.startanden

Toconfigurecorsinapache, pertethemod_headersmoduleusinga2enmodhedersoruncommentingtheloadmoduledirective, thensetaccess-control-allow-origin, ethedersin.htaccessorviirtualhostfiles, y compris les cartes

PerteAuth_BasicandAuthn_fileModules, 2.CreatePasswordFileWithHtpasswd, 3.ConfigureDirectoryor.htaccessForAuthentication, 4.restartapachetoApplyChanges.

GenerateAprivateKey et auto-signedcertificateUsingOpenSSLWitha2048-Bitrsakeyand365-Dayvalidité, assurant de la CommonnameMatchatheSheserver'sdomainorip.2.ConfigureApacheByedIdtingThesslVirtualHostFileTopointTothegenetedCertificatAndKeyFiles.3.

TOCHANGEAPAPACHE'SDOCUMENTROOT, EDITTHECONFIGURATIONFILE (par exemple, / etc / apache2 / Sites-disponible / 000-default.conf), UpdateTheDocumentRootandPathstothenewDirectory, setproperwhipandPermissions
