Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/06/2016, à 11: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 wink

Dernière modification par ibubbl3 (Le 11/06/2016, à 21:32)

Hors ligne

#2 Le 10/06/2016, à 11: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…

Hors ligne

#3 Le 10/06/2016, à 14: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, à 10: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…

Hors ligne

#5 Le 11/06/2016, à 21:31

ibubbl3

Re : [Résolu] - [Apache] - Processus Multiple au redémarrage

alors déjà merci pour ton aide wink

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 smile

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 smile 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é smile:)

Hors ligne