Alors, il faudrait que tu m'en dises plus sur les technos que tu utilises et celles que tu peux utiliser.
Pourquoi as-tu deux serveurs, et pourquoi veux-tu mettre le même site sur les deux ? Comment accèdes tu à ces sites (as-tu un load balancer ou autre) ?
Si c'est pour de répartition de charge, le mieux c'est de mettre un serveur avec nginx sur ton serveur le plus gros. Il prendra les requêtes http et servira le contenu statique. Pour les requêtes PHP, il utilisera des PHP-FPM remote derriere un load balancer :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
upstream phpLoadBalancer {
server 192.168.1.10:9000; # location of my first php-fpm server
server 192.168.1.11:9000; # second php-fpm server
}
server {
listen 80;
server_name mydomain.com;
index index.php;
location ~* \.php$ {
gzip on;
try_files $uri =404;
include fastcgi_params;
fastcgi_pass phpLoadBalancer;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path/to/webdir$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
}
} |
Donc les deux serveurs de phpLoadBalancer sont PHP-FPM sur le VPS 2 et PHP-FPM sur le VPS 1.
Il te reste donc plus qu'à être sûr que les serveurs PHP ont accès aux mêmes données : fichiers, sessions, etc.
Pour les sessions, installe un serveur redis sur une des machines, et configures les deux serveurs PHP-FPM pour mettre les sessions dessus.
Pour les fichiers, on peut imaginer un montage sshfs par exemple (j'ai entendu parler de mettre un GlusterFS plutôt mais là j'ai pas le niveau). Selon ton hébergeur on peut penser à une solution plus adaptée.
Partager