ホームページ  >  記事  >  運用・保守  >  負荷分散用に nginx を構成する方法

負荷分散用に nginx を構成する方法

(*-*)浩
(*-*)浩オリジナル
2019-07-15 11:03:344020ブラウズ

nginx はリバース プロキシに基づいて負荷分散を行います

負荷分散用に nginx を構成する方法

コードは次のとおりです:

## 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;  
   }  
}

nginx は負荷分散には次の方法があります:

1. RR (デフォルト) 各リクエストは、時系列順に 1 つずつ異なるバックエンド サーバーに割り当てられます。 、自動的に削除できます。 例:

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;

2. ip_hash 各リクエストはアクセス IP のハッシュ結果に従って割り当てられるため、各訪問者はバックエンド サーバーに固定的にアクセスできます。セッションの問題。 例:

upstream tomcats {   
           ip_hash;    
           server 10.1.1.107:88;    
           server 10.1.1.132:80;    
}

3、公平 (サードパーティ) バックエンド サーバーの応答時間に応じてリクエストを割り当て、応答時間の短いリクエストが最初に割り当てられます。

4. url_hash (サードパーティ) アクセスされた URL のハッシュ結果に応じてリクエストを振り分け、各 URL が同じバックエンド サーバーに振り分けられるようにします。バックエンドサーバーはキャッシュされます。

Nginx 関連の技術記事の詳細については、Nginx 使用チュートリアル 列にアクセスして学習してください。

以上が負荷分散用に nginx を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。