Maison  >  Article  >  Opération et maintenance  >  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
PHPzavant
2023-05-20 22:01:04832parcourir

É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端口

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或者域名即可
}

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后定义的名字
 }

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer