


Comment utiliser la simulation nginx pour le déploiement bleu-vert
Déploiement bleu-vert
L'objectif du déploiement bleu-vert réside dans les fonctionnalités suivantes
- #🎜 🎜#1. Bleu La version couleur et la version verte existent en même temps
- 2 L'environnement de course réel est bleu ou vert, il ne peut s'agir que de l'un des deux. eux, contrôlés par le switch
# 🎜🎜#
De plus, bien que la vitesse ait été améliorée, en cours de mise en œuvre, la commande de commutation, quelle que soit la vitesse de commutation, est toujours incapable d'obtenir une commutation totalement transparente sans combiner d'autres technologies.Simuler le déploiement bleu-vert
Ensuite, nous utilisons nginx en amont pour simuler simplement le scénario de déploiement bleu-vert. Le scénario spécifique est le suivant. La version bleue est actuellement active. En ajustant les paramètres de nginx, la version verte est définie comme la version actuellement active.
Démarrer deux ports 7001/7002 respectivement à l'avance Les services sont utilisé pour afficher différentes informations.Pour faciliter la démonstration, un miroir est créé à l'aide de tornado et différents paramètres transmis lors du démarrage du conteneur Docker sont utilisés pour afficher les différences entre les services.
docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "hello blue/green service: v1 in 7001" docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "hello blue/green service: v2 in 7002"
[root@kong ~]# docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "hello blue/green service: v1 in 7001"
70c74dc8e43d5635983f7240deb63a3fc0599d5474454c3bc5197aa5c0017348
[root@kong ~]# docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "hello blue/green service: v2 in 7002"
6c5c2ea322d4ac17b90feefb96e3194ec8adecedaa4c944419316a2e4bf07117
[root@kong ~]# curl http://192.168.163.117:7001
hello, service :hello blue/green service: v1 in 7001
[root@kong ~]# curl http://192.168.163.117:7002
hello, service :hello blue/green service: v2 in 7002
[root@kong ~]#
[root@kong ~]# docker run -p 9080:80 --name nginx-blue-green -d nginx
d3b7098c44890c15918dc47616b67e5e0eb0da7a443eac266dbf26d55049216a
[root@kong ~]# docker ps |grep nginx-blue-green
d3b7098c4489 nginx "nginx -g 'daemon ..." 10 seconds ago up 9 seconds 0.0.0.0:9080->80/tcp nginx-blue-green
[root@kong ~]#
Préparez l'extrait de code nginx suivant et ajoutez-le à /etc/nginx/conf.d/default.conf de nginx. down Le trafic est nul (le poids ne peut pas être mis à zéro dans nginx) et 100 % du trafic est envoyé vers la version bleue au début.
http { upstream nginx_blug_green { server 192.168.163.117:7001 weight=100; server 192.168.163.117:7002 down; } server { listen 80; server_name www.liumiao.cn 192.168.163.117; location / { proxy_pass http://nginx_blug_green; } }
Comment modifier default.conf
Vous pouvez obtenir l'effet en installant vim dans le conteneur, ou vous pouvez le modifier localement et puis utilisez docker cp Vous pouvez le transmettre ou le modifier directement avec sed. Si vous installez vim dans un conteneur, utilisez la méthode suivante
[root@kong ~]# docker exec -it nginx-lb sh # apt-get update ...省略 # apt-get install vim ...省略
Recharger les paramètres nginx
# cat default.conf server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the php scripts to apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the php scripts to fastcgi server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param script_filename /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } #
10 La sortie de tous les appels est v1 dans 7001
[root@kong ~]# cnt=0; while [ $cnt -lt 10 ]> ; curl> let cnt++
> donehello, service :hello blue/green service: v1 in 7001hello, service :hello blue/green service : v1 in 7001bonjour, service :bonjour service bleu/vert: v1 en 7001
bonjour, service :bonjour service bleu/vert: v1 en 7001bonjour, service :bonjour service bleu/vert: v1 en 7001
bonjour, service :bonjour service bleu/vert: v1 en 7001bonjour, service :bonjour service bleu/vert: v1 en 7001Reload nginx settingsbonjour, service :bonjour service bleu/vert: v1 en 7001
bonjour, service :bonjour service bleu/vert: v1 en 7001
bonjour, service :bonjour service bleu/vert: v1 en 7001
[root@kong ~] ##🎜 🎜#
Déploiement bleu-vert : passer à la version verte
En ajustant le poids de default.conf, puis en exécutant nginx - s La méthode de rechargement peut passer dynamiquement à la version verte sans arrêter le service nginx La cible générera tout le trafic vers la v2 en 7002
Comment modifier default.conf
#. 🎜🎜#
Il vous suffit d'ajuster le poids du serveur en amont comme suit :# cat default.conf upstream nginx_blug_green { server 192.168.163.117:7001 weight=100; server 192.168.163.117:7002 down; } server { listen 80; server_name www.liumiao.cn 192.168.163.117; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { #root /usr/share/nginx/html; #index index.html index.htm; proxy_pass http://nginx_blug_green; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the php scripts to apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the php scripts to fastcgi server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param script_filename /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } #Copier après la connexion
#🎜🎜 #
# nginx -s reload 2018/05/28 04:39:47 [notice] 321#321: signal process started #
bonjour, service :bonjour service bleu/vert: v2 en 7002bonjour, service :bonjour service bleu/vert: v2 en 7002bonjour, service :bonjour service bleu/vert: v2 en 7002
bonjour, service :bonjour service bleu/vert: v2 en 7002bonjour, service :bonjour service bleu/vert: v2 en 7002
bonjour, service :bonjour service bleu/vert: v2 en 7002bonjour, service :bonjour service bleu/vert: v2 en 7002bonjour, service :bonjour service bleu/vert: v2 en 7002bonjour, service :bonjour service bleu/vert: v2 en 7002
bonjour, service :bonjour service bleu/vert: v2 en 7002[root@kong ~]#
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

Comment corriger l'erreur interdite Nginx 403? Vérifier les autorisations de fichier ou de répertoire; 2. Vérifier le fichier .htaccess; 3. Vérifiez le fichier de configuration NGINX; 4. Redémarrer Nginx. D'autres causes possibles incluent les règles de pare-feu, les paramètres de Selinux ou les problèmes d'application.

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.

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.
