Crash d'un serveur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Crash d'un serveur

par Amrac » 19 sept. 2007, 20:50

Si tu veux te protéger d'un plantage d'apache, tu peut faire une cron qui vérifie, par exemple, toutes les minutes si Apache est dispo.
Si apache ne répond pas, le script n'as qu'a le relancer et t'envoyer un mail pour signaler le problème.

Si tu pense que c'est le serveur matériel qui risque de planté (j'entend par la le serveur complet, avec reboot obligatoire), peut être qu'il est possible de régler un second DNS en cas d'échec. Malheuresement je n'en connais pas plus que ça :/

par zeus » 19 sept. 2007, 16:35

Si tu passes par un 3ème serveur, il est possible de passer par un load balancer et de le configurer pour qu'il redirige tout sur le serveur 1 tant qu'il est disponible et qu'il passe tout au serveur 2 sinon.

Il est même possible d'acheter un load balancer matériel, mais c'est franchement pour d'autres utilisation. Là où ça devient utile, c'est quand tu veux réellement répartir ta charge sur différents serveurs.

Définition du load balancing :
http://www.commentcamarche.net/surete-f ... harge.php3

par shilvar » 19 sept. 2007, 16:27

Très bien, je vais voir ce que je peux faire, je vous remercie pour ces informations, ça me permet d'avancé un peu même si je ne vois pas trop comment faire (je suis plus orienté dans la programmation :D).

Bonne fin de journée à vous.

par fab » 19 sept. 2007, 16:18

Donc même si je fais ce que d-sam m'a répondu, je n'aurais pas de redirection sur mon serveur qui contient la base de données ?
En tout cas pas avec apache ou php et après ça dépasse mes compétences désolé

par d-sam » 19 sept. 2007, 16:04

Si le apache actuel est down il risque pas de répondre :p
en effet, c'est pour ca qu'il vaudrait mieux tester le ok.php avec une cron (ex: toutes les minutes), stocker le résultat, et s'y référer à chaque requête. ça éviterait les soucis de timeout.

après, si tu prends un 3e serveur, il doit exister des solutions de "failover" assez sûres/simples à mettre en place (rayer la mention inutile)
mais je ne saurais pas t'aider dans cette voie... désolé!

par shilvar » 19 sept. 2007, 15:58

Donc même si je fais ce que d-sam m'a répondu, je n'aurais pas de redirection sur mon serveur qui contient la base de données ?

par fab » 19 sept. 2007, 15:39

Si le apache actuel est down il risque pas de répondre :p

par d-sam » 19 sept. 2007, 15:03

hmm, je suis pas du tout expert dans ce domaine, mais en gros, voici le concept:

tu peux mettre un script (admettons "ok.php") à la racine de ton site, qui contient le texte "ok"!
tu fais pointer les dns de ton domaine (www) sur le serveur "de controle". tu y installes un Apache, qui appelle, à chaque requête, le fichier ok.php, via:
$test = file_get_contents("http://ip_de_ton_serveur/ok.php");
if ($test == 'ok') {
   // le serveur marche, on lui envoie la requete
   header('Location:www1.tonsite.com');
} else {
   // le serveur ne marche pas, on envoie la requete ailleurs
    header('Location:www2.tonsite.com');
}

avec www1 = ton apache actuel, www2 = ton apache "de secours"

/!\ attention, je ne te dis pas de faire comme ça, c'est la solution la plus "simple" qui me vienne à l'esprit...

par shilvar » 19 sept. 2007, 14:52

Je vois que je ne peux pas réaliser mon projet sans 3ème serveur.

Pourriez-vous m'expliquer comment faire pour qu'un serveur vérifie que Apache fonctionne correctement ? Où une documentation qui m'aiguillerai ?

Je ne vois pas trop comment réaliser tout ceci.

Merci d'avance.

par d-sam » 19 sept. 2007, 14:31

pour que ta redirection soit effective, il faudrait que ton serveur marche, et que ton Apache soit lancé... ce que tu cherches à faire s'appelle un système de "failover" (= gestion de pannes)

à priori la méthode la plus simple est un 3e serveur, qui vérifie que l'apache marche avant de lui envoyer les données, ou qui les reroute sur le serveur "MySQL" en cas de soucis.

par shilvar » 19 sept. 2007, 14:26

Je vous remercie pour votre réponse aussi rapide.

Le problème c'est que je ne peux pas ajouter un autre serveur.

Je pensais que je pouvais faire ceci dans un .htaccess situé à la racine du site :

Code : Tout sélectionner

ErrorDocument 500 http://ip_serveur_mysql/index.php
Je ne sais pas si cela va réaliser ce que je demande :(

Merci pour tout.

par fab » 19 sept. 2007, 14:02

Je crois qu'on ne peut pas, si le serveur est down rien ne pourra sortir du serveur :)

il faut donc un serveur intermédiaire qui pour chaque connexion regarde si le serveur principal est up sinon il renvoit sur le secondaire

Crash d'un serveur

par shilvar » 19 sept. 2007, 12:14

Bonjour,

Je gère actuellement un site web qui est hébergé sur un serveur Apache. J'ai également un autre serveur pour la base de données Mysql. Ma question est assez simple:

Comment peut-on détecter un crash d'un serveur ? grâce à un .htaccess ?

Mon but est de faire une redirection sur le serveur de la base de données (dont les scripts du site ont été copiés) lorsque le serveur, qui contient le site, plante; ceci afin que les utilisateurs aient toujours accès à celui-ci.

Je vous remercie d'avance pour l'information.

Bonne journée.