IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

relier deux serveurs apache


Sujet :

Apache

  1. #1
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 256
    Points : 90
    Points
    90
    Par défaut relier deux serveurs apache
    bonsoir a tout le monde ,je voudrais savoir si c'est possible de relier deux serveurs apache : si un serveur apache tombe en panne l'autre prend le relais


    merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Le plus simple est mettre en place un programme de surveillance : ce programme fait très régulièrement une requête HTTP sur le premier serveur pour savoir s'il fonctionne pas ; si le programme détermine que le serveur n'est plus disponible, il déclanche la mise en place du second serveur. Il faut bien penser à basculer l'adresse IP qui sert de point d'entrée sur le serveur Web sur le second serveur.

    On peut également mettre devant les serveurs Apache un répartiteur de charge (load balancer ou LBR pour les anglophones) qui sait faire de la détection d'indisponibilité. Dans ce cas, le répartiteur de charge est le point d'entrée du site Web, donc pas besoin de basculer l'adresse IP du site.

    Dans les 2 cas, il faut bien voir qu'on continue (ou peut continuer) à disposer d'un point unique d'échec (Single Point of Failure comme disent les anglosaxons) : le programme de détection dans le premier cas et le répartiteur de charge dans le second cas. Il faut donc sûrement aussi prévoir une redondance de ces composants. Ce n'est pas obligatoire, tout dépend du niveau de service qu'on veut mettre en place, c'est-à-dire savoir si l'échec du programme de bascule ou le répartiteur de charge est accepté ou non.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 256
    Points : 90
    Points
    90
    Par défaut remerciment
    bonsoir je vous remercie pour votre réponse je voudrais savoir comment programmer

    une requête HTTP sur le premier serveur

    merci

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ben tout dépend du langage de programmation. Si tu écris un script shell, tu peux utiliser une commande comme wget ou curl.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 256
    Points : 90
    Points
    90
    Par défaut remerciment
    bonsoir merci pour votre réponse pouriez vous me donner un simple exemple en php

    merci d'avance et bon courage

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Un script PHP ? Il n'a d'intérêt que s'il est appelé en ligne de commande, on est d'accord ? On est bien d'accord que le programme de surveillance d'Apache est un programme externe à Apache ? Ce script PHP que tu me demandes ne doit pas être "installé" dans le document root d'Apache (donc appelé par le Web) car il n'y a absolument aucun intérêt (à mon sens tout du moi) à ce qu'il soit exécuté de cette façon : si Apache tombe, justement, le script ne peut pas être exécuter et tu ne peux pas faire la bascule. En outre, il faut exécuter régulièrement le script et c'est pas Apache qui peut faire ça donc dans tous les cas, il faut que tu mettes en place un processus de surveillance régulier hors Apache.

    Sinon, on peut envisager un script qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $handle = @fopen("http://monserveur/url_a_surveiller", "r");
    // Si on ne recupere rien de valide c'est qu'Apache est indisponible
    if (!$handle) {
            // On opere la bascule
            ...
    }
    ?>
    A appeler donc en faisant ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bash-2.05$ php monscript.php
    Personnellement, je pense qu'un script shell serait plus adapté qu'un script PHP car s'il faut aussi basculer une interface réseau et redémarrer des services, il faut exécuter des commandes système et depuis PHP tu risques de galérer un peu.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre habitué Avatar de baroudi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 117
    Points : 139
    Points
    139
    Par défaut
    Salut,
    Perso je pense qu'un script bash et bcp plus intéressant est facile à mettre en œuvre via une crontab que le script php
    Ce dernier pourra au moins démarrer le second apache en cas de "failure" du premier sans trop se prendre la tête..
    ___________________________________________
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déploiement avec deux serveurs Apache Tomcat de la même version
    Par sipatsymasaka dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/02/2012, 08h58
  2. Deux serveurs Apache dans le même système
    Par islyoung2 dans le forum Apache
    Réponses: 2
    Dernier message: 11/08/2010, 10h51
  3. Authentification forte entre deux serveurs Apache
    Par glubby dans le forum Apache
    Réponses: 5
    Dernier message: 14/04/2009, 11h23
  4. Redirection entre deux serveur Apache
    Par BernardT dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 22/02/2007, 14h59
  5. Deux serveurs apaches pour traiter les requêtes
    Par c4cf6 dans le forum Apache
    Réponses: 3
    Dernier message: 01/02/2007, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo