Maison > Opération et maintenance > Nginx > Comment utiliser nginx et docker pour implémenter un équilibrage de charge simple

Comment utiliser nginx et docker pour implémenter un équilibrage de charge simple

PHPz
Libérer: 2023-05-20 22:01:04
avant
890 Les gens l'ont consulté

Étapes du test :

1. Créez un serveur nginx sur le serveur et démarrez-le

2. Extrayez l'image officielle de nginx de la source dans docker, docker pull nginx, conservez-la pour une utilisation ultérieure

3. le répertoire local Créez deux nouveaux dossiers. Ceux que j'ai créés ici se trouvent dans /mydata/test2/

4. Créez un nouveau index.html dans les deux dossiers de test pour les marquer, et affichez ceci dans nginx1. premier html., la sortie est nginx2 dans le deuxième html,

5 Exécutez les conteneurs des deux serveurs nginx via docker et mappez les répertoires statiques aux répertoires que nous venons de créer respectivement

[root@catchtouch test2]# docker run --name nginx-test -d -p 8080:80 -v /mydata/test1:/usr/share/nginx/html nginx #第一个,将8080端口映射到容器中的80端口
[root@catchtouch test2]# docker run --name nginx-test1 -d -p 8081:80 -v /mydata/test2:/usr/share/nginx/html nginx #第二个,将容器中的8081端口映射到容器中的80端口
Copier après la connexion

Comment utiliser nginx et docker pour implémenter un équilibrage de charge simple

6. host Dans le fichier de configuration nginx

Ajoutez le code suivant dans http{}

upstream myweb { #myproject为自定义名字

  #ip_hash; #开启则代表用ip地址的形式来分配,可解决sesson问题
   server 127.0.0.1:8080 weight=1; #weight越大,权重越高,被分配的几率越大
   server 127.0.0.1:8081 weight=1; #我全部在本机,因此用了本地的ip,只要相应换成对应的ip或者域名即可
}
Copier après la connexion

7 Entrez le répertoire conf.d et modifiez default.conf (il n'existe pas de fichier de ce type dans conf.d et peut être créé. Le nom du fichier. est arbitraire et le suffixe doit être.conf)

 location / {  
   #如果服务器要获取客户端真实ip,可以用下三句设置主机头和客户端真实地址
   #proxy_set_header host $host;
   #proxy_set_header x-real-ip $remote_addr;
   #proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;

   root  /usr/share/nginx/html;
   index index.html index.htm;
   proxy_pass http://myweb; #myweb为之前在nginx.conf中upstream后定义的名字
 }
Copier après la connexion

8 Enregistrez et quittez, redémarrez le serveur : systemctl restart nginx

9 Entrez le nom de domaine actuel via le navigateur et actualisez la page, parfois nginx1 est affiché, parfois nginx2. est sorti, la configuration est réussie

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal