Maison > Opération et maintenance > Nginx > Comment configurer nginx pour l'équilibrage de charge

Comment configurer nginx pour l'équilibrage de charge

(*-*)浩
Libérer: 2019-07-15 11:03:34
original
4096 Les gens l'ont consulté

nginx effectue un équilibrage de charge basé sur un proxy inverse

Comment configurer nginx pour l'équilibrage de charge

Le code est le suivant :

## Basic reverse proxy server ##  
## Apache backend for www.baidu.com ##  
upstream henushang  {  
        # 不过最好换成你们的服务器测试,因为我测试的时候使用jd和baidu的都没有连接成功,         # 换成自己的服务器就行了,估计是那里有限制,如果哪位知道,请指教  
        server www.jd.com weight=1; # 或者ip:port这样形式也是可以的  
    server www.baidu.com weight=9; # 或者ip:port这样形式也是可以的  
}  
  
## Start www.baidu.com ##  
server {  
    listen 80;  
    server_name  www.henushang.cn;#监听的域名  
  
    access_log  logs/henushang.access.log;  
    error_log  logs/henushang.error.log;  
    root   html;  
    index  index.html index.htm index.php;  
  
    ## send request back to apache ##  
    location / {  
        proxy_pass  http://henushang;#与上面的upstream名字相对应  
  
        #Proxy Settings  
        proxy_redirect     off;  
        proxy_set_header   Host             $host;  
        proxy_set_header   X-Real-IP        $remote_addr;  
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;  
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;  
        proxy_max_temp_file_size 0;  
        proxy_connect_timeout      90;  
        proxy_send_timeout         90;  
        proxy_read_timeout         90;  
        proxy_buffer_size          4k;  
        proxy_buffers              4 32k;  
        proxy_busy_buffers_size    64k;  
        proxy_temp_file_write_size 64k;  
   }  
}
Copier après la connexion

nginx a les manières suivantes pour effectuer l'équilibrage de charge :

1. RR (par défaut) Chaque requête est attribuée à un serveur backend différent une par une dans l'ordre chronologique. Si le serveur backend tombe en panne, vous pouvez le faire. être automatiquement éliminé. Par exemple :

upstream tomcats {     
               server 10.1.1.107:88  max_fails=3 fail_timeout=3s weight=9;   
               server 10.1.1.132:80  max_fails=3 fail_timeout=3s weight=9;
Copier après la connexion

2. ip_hash Chaque requête est allouée en fonction du résultat de hachage de l'IP d'accès, afin que chaque visiteur ait un accès fixe à un serveur back-end, ce qui peut résoudre le problème de la séance. Par exemple :

upstream tomcats {   
           ip_hash;    
           server 10.1.1.107:88;    
           server 10.1.1.132:80;    
}
Copier après la connexion

3. équitable (tiers) Attribuez les demandes en fonction du temps de réponse du serveur backend, et celles avec des temps de réponse courts seront allouées en premier.

4. url_hash (tiers) Alloue les requêtes en fonction du résultat de hachage de l'URL consultée, de sorte que chaque URL soit dirigée vers le même serveur back-end. le serveur principal est mis en cache.

Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel Nginx pour apprendre !

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:php.cn
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