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 サイトの他の関連記事を参照してください。