Pages : 1
#1 Le 10/06/2016, à 10:31
- ibubbl3
[Résolu] - [Apache] - Processus Multiple au redémarrage
Bonjour à tous, depuis 2 jours, lorsque que je lancer apache, il me créer des sous processus jusqu'à saturer la ram, la cpu et la partition swap.
J'ai actuellement 3 sites :
1 wordpress
1 wordpress-admin qui écoute sur un port en local et vers lequel l'utilisateur distant est renvoyé via les insctructions proxy-pass en https.
1 owncloud.
Après quelques recherches, j'ai remarqué que si je lance uniquement owncloud je n'ai aucun problème. (je l'ai donc éliminé de la cause du problème)
De fait je me suis concentré sur wordpress.
J'ai supprimé manuellement les thèmes et les addons (au cas ou) --> même résultat
J'ai restauré une sauvegarde du mois précédent (BDD Mysql + Dossier www) --> même résultat
J’ai réinstallé Apache --> même résultat
Je sèche un peu, et je cherche une idée..... ah et j'oublie je suis en ubuntu server 14.04.4 LTS
merci d'avance
Dernière modification par ibubbl3 (Le 11/06/2016, à 20:32)
Hors ligne
#2 Le 10/06/2016, à 10:45
- bruno
Re : [Résolu] - [Apache] - Processus Multiple au redémarrage
Bonjour,
Je ne vois pas tes fichiers de configuration dans ma boule de cristal, mais je pencherais pour une mauvaise utilisation de mod_proxy…
#3 Le 10/06/2016, à 13:26
- ibubbl3
Re : [Résolu] - [Apache] - Processus Multiple au redémarrage
Oui effectivement ça manque un peu. Ci-après vous trouverez les confs de chacun des sites portés par mon Apache.
Pour la conf proxy, il y a peut-être une erreur, mais cette configuration est fonctionnelle depuis 2013. On peux toujours voir cependant.
owncloud.conf :
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/owncloud/
#==================================#
######### SSL CONFIG ###############
#==================================#
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/ssl/wordpress/server.crt
SSLCertificateKeyFile /etc/ssl/wordpress/server.key
SSLSessionCacheTimeout 900
#==================================#
######### DIRECTORY CONFIG #########
#==================================#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
#==================================#
######### PROXY CONFIG #############
#==================================#
<Proxy *>
Options -FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Proxy>
ProxyPreserveHost On
ProxyRequests Off
### Reverse Proxy pour wp-admin :
ProxyPassMatch ^/(wp-*|xmlrpc*)(.*) https://127.0.0.1:444/$1$2
#==================================#
######### LOGGING CONFIG #########
#==================================#
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel error
ErrorLog ${APACHE_LOG_DIR}/https_error.log
CustomLog ${APACHE_LOG_DIR}/https_access.log combined
</VirtualHost>
</IfModule>
wordpress-admin :
Listen 127.0.0.1:444
<VirtualHost 127.0.0.1:444>
ServerName [XXXX]
ServerAdmin webmaster@[XXXX]
DocumentRoot /var/www/wordpress
#==================================#
######### SSL CONFIG ###############
#==================================#
SSLEngine on
SSLProxyEngine on
SSLCipherSuite RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/ssl/wordpress/server.crt
SSLCertificateKeyFile /etc/ssl/wordpress/server.key
SSLSessionCacheTimeout 900
#==================================#
######### DIRECTORY CONFIG #########
#==================================#
<Directory />
Order Deny,Allow
allow from all
</Directory>
<Directory /var/www/wordpress>
Options +Indexes -FollowSymLinks -MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
#==================================#
######### LOGGING CONFIG ###########
#==================================#
LogLevel warn
ErrorLog /var/log/apache2/Wordpress_ADMIN_error.log
CustomLog /var/log/apache2/Wordpres_ADMIN_access.log combined
</VirtualHost>
wordpress :
Listen 127.0.0.1:444
<VirtualHost 127.0.0.1:444>
ServerName [XXXX]
ServerAdmin webmaster@[XXXX]
DocumentRoot /var/www/wordpress
#==================================#
######### SSL CONFIG ###############
#==================================#
SSLEngine on
SSLProxyEngine on
SSLCipherSuite RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/ssl/wordpress/server.crt
SSLCertificateKeyFile /etc/ssl/wordpress/server.key
SSLSessionCacheTimeout 900
#==================================#
######### DIRECTORY CONFIG #########
#==================================#
<Directory />
Order Deny,Allow
allow from all
</Directory>
<Directory /var/www/wordpress>
Options +Indexes -FollowSymLinks -MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
#==================================#
######### LOGGING CONFIG ###########
#==================================#
LogLevel warn
ErrorLog /var/log/apache2/Wordpress_ADMIN_error.log
CustomLog /var/log/apache2/Wordpres_ADMIN_access.log combined
</VirtualHost>
Hors ligne
#4 Le 11/06/2016, à 09:29
- bruno
Re : [Résolu] - [Apache] - Processus Multiple au redémarrage
Ok. Je ne comprends pas vraiment ta configuration… Je la trouve inutilement complexe et j ne vois pas la nécessité du recours au mode proxy est au port 444…
À première vue, même si je vois des choses bizarres et inutiles et une syntaxe obsolète par rapport à a version 2.4 d'Apache, je n'y vois pas d'erreur majeure qui pourrait causer ton problème.
Concernant les processus apache, la manière dont il sont gérés et créés dépend du MPM utilisé.
Dans tous les cas le nombre de processus enfants est limité par défaut. La multiplication des processus jusqu'à saturer la RAM ne devrait donc pas arriver, à moins que les directives gérant le nombre de processus enfant aient été modifiées :
voir http://httpd.apache.org/docs/2.4/mod/mpm_common.html
En principe ces directives se trouvent dans le fichier de configuration de ton MPM (/etc/apache2/mods_enabled/mpm_prefok.conf par exemple pour le MPM prefork) mais ont pu être modifiées ailleurs…
#5 Le 11/06/2016, à 20:31
- ibubbl3
Re : [Résolu] - [Apache] - Processus Multiple au redémarrage
alors déjà merci pour ton aide
Pour commencer je me suis trompé en donnant le fichier de conf wordpress, il s'agit du fichier wordpress-admin.
Par ailleurs si les directives sont déprécié, c'est surement parce que j'utilise cette config depuis bientôt 6 ans
Pour en revenir au sujet principal, je suis allé regarder le fichier /etc/apache2/mods-enabled/mpm_prefork.conf
et j'ai trouvé la directive suivante :
MaxRequestWorkers 150
Je l'ai passé à 10 pour voir et ça a permit de limiter la casse, car je n'ai eu de fait qu'une 10zaines de processus de lancé.
Cependant je me suis demandé comment je pouvais avoir autant de connexion, en sachant que je ne suis pas auteurs à succès sur mon blog et soyons honnête mon dernier post date d'il y a plus d'un an.
J'ai lancé un netstat -planet et j'ai remarqué que 2 ips Russes (191.96.249.54 et 191.96.249.53) étaient les seuls initiatrice de ces questions. Je ne pense pas avoir de lecteur en Russie et j'ai pris le partie de dropper toutes les connections émanant de ces adresses. J'ai repassé le paramètre MaxRequestWorkers à 150. Et la miracle plus de problème, apache se lance et ne plie plus mon serveur en 2.
D'ailleurs si je comprend bien, une connexion = un processus enfant pour apache... Si c'est bien le cas je me rend compte que les dédibox avec leur petit processeur VIA, ça ne va pas loin en terme de perfs, en gros 100 connexions et mon serveur ne répond plus.
Quoiqu'il en soit, Je ne sais pas trop ce qu'elles me voulaient ces deux ips, mais ça sent de DOS et/ou le défaçage, car le dossier wordpress d'orgine ne semblait plus fonctionner, j'ai du implémenter une backup précédente.
Voilà voilà, merci pour les pistes que vous m'avez donné, si elles n'ont pas résolu le problème elle m'y ont amené :)
Hors ligne