


Comment implémenter une sauvegarde à chaud sur deux machines avec Nginx+Keepalived
一.keepalived
keepalived est un logiciel de service qui garantit la haute disponibilité du cluster. Le nœud ayant une priorité élevée dans le réseau est le maître chargé de répondre au package arp du VIP, indiquant aux autres hôtes du réseau la relation de mappage. entre les adresses VIP et mac, et également en utilisant l'option Envoyer des notifications vrrp au réseau sous forme de multicast pour les informer de leurs priorités. Le nœud de sauvegarde est uniquement responsable du traitement des paquets multicast envoyés par le maître. Lorsqu'il constate que la priorité du maître n'est pas aussi élevée que la sienne, ou qu'il ne reçoit pas la notification vrrp du maître, le nœud de sauvegarde passe lui-même au nœud de sauvegarde. état maître.
2. Configuration de l'environnement
Environnement : qemu-kvm, client debian (9.4.0)
Installation de la machine virtuelle qemu-kvm : Introduction à la technologie de virtualisation qemu-kvm
1. deux machines virtuelles utilisant des instantanés temporaires. Les opérations suivantes doivent être effectuées sur les deux machines virtuelles
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -m 512 -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic
2 Définissez l'IP statique de la machine virtuelle
root@debian:~# cat /etc/network/interfaces # the primary network interface allow-hotplug ens3 #iface ens3 inet dhcp iface ens3 inet static address 10.0.0.3 // 设置ip netmask 255.0.0.0 gateway 10.0.0.1 hwaddress ether 52:54:00:12:34:53 // 设置mac地址
3 Activez l'IP de la carte réseau
root@debian:~# ip addr del 10.0.0.8/8 dev ens3 // 删除客户机原有ip root@debian:~# ifdown ens3 root@debian:~# ifup ens3
4.
root@debian:~# apt-get install -y nginx keepalived
root@debian:~# vi /var/www/html/index.nginx-debian.html …… <h1 id="welcome-nbsp-to-nbsp-nginx-nbsp">welcome to nginx! 10.0.0.3</h1> ……
3. machine virtuelle de nœud (10.0.0.3), machine virtuelle de nœud de secours (10.0.0.4), IP virtuelle (10.0.0.100)
1 Sur la machine virtuelle du nœud principal, modifiez le fichier /etc/keepalived/keepalived.conf.
root@debian:~# cat /etc/keepalived/keepalived.conf global_defs { router_id ri_1 // 标识当前keepalived节点 } vrrp_script chk_nginx { script "/root/chk_nginx.sh" // 定义监控脚本 interval 2 // 执行监控脚本的闹中间隔时间 } vrrp_instance vi_1 { state master // 设置节点为主节点,节点的初始状态 interface ens3 // 设置绑定虚拟ip的网络接口 virtual_router_id 50 // vrrp组名,指明节点同属一个组 priority 100 // 节点优先级,主节点应当高于备用节点 advert_int 1 // 组播信息发送间隔 #nopreempt // 禁止抢占服务,只对备用节点生效,主节点根据priority优先级进行抢占,不受nopreempty控制 authentication { auth_type pass // 设置认证方式 auth_pass 123456 // 密码 } virtual_ipaddress { 10.0.0.100/24 // 设置vip } track_script { // 调用监控脚本 chk_nginx } }
2. Pour la machine virtuelle du nœud de secours, modifiez le fichier /etc/keepalived/keepalived.conf À l'exception des éléments suivants, les autres sont les mêmes que le nœud principal
state backup // 设置节点为主节点,节点的初始状态 priority 10 // 节点优先级
3. script de surveillance, modifiez le fichier /root/chk_nginx.sh
root@debian:~# vi /root/chk_nginx.sh #!/bin/bash a=`ps -c nginx --no-header | wc -l` if [ $a -eq 0 ] then /etc/init.d/keepalived stop fi
4. Vérifiez le service
1. Exécutez la commande ip a, le maître. La carte réseau du nœud ens3 a été liée à vip (10.0.0.100)2. Dans Sur la machine virtuelle du nœud de sauvegarde, démarrez les services nginx et keepalived
Exécutez la commande ip a La carte réseau du nœud de sauvegarde. ens3 n'est pas lié à vip (10.0.0.100)
La page Web 10.0.0.3 apparaît, indiquant que le service keepalived a pris effet et que le VIP a été lié au nœud maître
root@debian:~# /etc/init.d/nginx start root@debian:~# /etc/init.d/keepalived start
Exécutez la commande ip a, la carte réseau du nœud principal ens3 n'est pas liée à vip (10.0.0.100)
Exécutez la commande ip a, la carte réseau du nœud de sauvegarde ens3 est liée à vip (10.0.0.100) 10.0.0.100. )
La page Web de 10.0.0.4 apparaît, indiquant que le service keepalived a pris effet et que le VIP a été lié au nœud de sauvegarde
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Dans Linux, utilisez la commande suivante pour vérifier si Nginx est démarré: SystemCTL Status Nginx Juges Basé sur la sortie de la commande: si "Active: Active (Running)" s'affiche, Nginx est démarré. Si "Active: Inactive (Dead)" est affiché, Nginx est arrêté.

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.

Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Il existe deux façons de résoudre le problème du domaine transversal NGINX: modifiez les en-têtes de réponse transversale: ajoutez des directives pour autoriser les demandes de domaine croisé, spécifier des méthodes et des en-têtes autorisés et définir le temps du cache. Utilisez le module CORS: Activez les modules et configurez les règles CORS pour permettre des demandes, des méthodes, des en-têtes et du temps de cache.

Réponse à la question: 304 Erreur non modifiée indique que le navigateur a mis en cache la dernière version de ressource de la demande du client. Solution: 1. Effacer le cache du navigateur; 2. Désactiver le cache du navigateur; 3. Configurer Nginx pour permettre le cache client; 4. Vérifier les autorisations du fichier; 5. Vérifier le hachage du fichier; 6. Désactiver le CDN ou le cache proxy inversé; 7. Redémarrez Nginx.
