nginx在做负载均衡时如何配置

1、下面的架构就是我们今天的演示结构,后端有两台服务器,分别是node1和node2,前端是一台web服务器,然后在web服务器上做负载均衡,将前端的访问流量导到后端的两个节点服务器上。三个服务器的IP地址分别是:web:192.168.1.210node1:192.168.1.211node2:192.168.1.212
2、按照这样的架构,在后端的node1和node2节点上分配配置好需要访问的网站,然后为了方便测试,我们将两个网站的主页分别改成下面的内容。便于区分访问的节点。
3、后端两个节点配置好以后,我们再来配置web服务器里的负载均衡配置,首先使用默认配置,先打开/etc/nginx/nginx.conf配置文件,在http区块里添加upstream块内容,及配置了两个后端服务器,后端负载均衡集群的名称是backend,记下这个名称。
4、然后再打开/etc/nginx/conf.d/default.conf这个配置文件,在server区块里,把location里面的内容改成图中所示内容。即将所有访问192.168.1.210的流量代理到后端的backend集群里。
5、配置文件配置好以后,使用nginx -t命令测试一下配置文件,保证配置文件是ok状态,然后执行nginx命令启动nginx服务器。
6、启动后在浏览器上输入前端web服务器的ip地址192.168.1.210,然后可以看到第一次是node1响应的,然后刷新一下以后,又变成了node2响应的。就这样实现了负载均衡的效果。由两个服务器分别响应,是因为默认的负载均衡算法是轮询算法,即两个节点轮流来。
7、然后我们还可以尝试一下加权轮询算法, 即给不同的节点配置不同的权重,权重高一点的服务器,响应的多一些,权重第一点的响应少一些。加权轮询算法配置,在后端服务器后面加上权重值weight即可。配置好以后,执行nginx -t命令检测配置文件,确认无误后,执行nginx -s reload命令重新加载配置文件。
8、通过加权轮询的方式,我们无法通过手动一次次点击,最后来统计次数。但是我们可以使用自动化工具来统计。使用的工具是一款叫做httpd-tools的软件,安装好以后,提供了一个ab命令
9、然后我们来执行ab命令进行测试,常用的格式是:ab -n 1000 -c 50 http://localhost这个命令是在210服务器上执行的。表示一共执行1000次访问,每次发送50个请求。
10、然后我们登录到后端的node1服务器上,打开nginx的访问日志,从中可以看到ab命令测试的访问信息里,访问来源都是ApacheBench,因此可以通过可以来源来统计nginx响应的次数。命令是:grep ApacheBench access.log | wcnode1和node2节点上的统计结果分别是714和286,如下面图中所示,虽然没有达到5:2的权重比例,但是也非常接近了。说明这个配置生效了。

  • nginx璐熻浇鍧囪 閰嶇疆
    绛旓細1. 瀹夎nginx鏈嶅姟 2. 閰嶇疆nginx璐熻浇鍧囪  3. 鍚姩鏈嶅姟鍣 4. 閫氳繃璁块棶web鏈嶅姟杩涜娴嬭瘯璐熻浇鍧囪 鏁堟灉
  • nginx鍦ㄥ仛璐熻浇鍧囪 鏃跺浣閰嶇疆 nginx鐨勮礋杞藉潎琛℃庝箞閰嶇疆
    绛旓細5銆侀厤缃枃浠堕厤缃ソ浠ュ悗锛屼娇鐢nginx -t鍛戒护娴嬭瘯涓涓嬮厤缃枃浠讹紝淇濊瘉閰嶇疆鏂囦欢鏄痮k鐘舵侊紝鐒跺悗鎵цnginx鍛戒护鍚姩nginx鏈嶅姟鍣ㄣ6銆佸惎鍔ㄥ悗鍦ㄦ祻瑙堝櫒涓婅緭鍏ュ墠绔痺eb鏈嶅姟鍣ㄧ殑ip鍦板潃192.168.1.210锛岀劧鍚庡彲浠ョ湅鍒扮涓娆℃槸node1鍝嶅簲鐨勶紝鐒跺悗鍒锋柊涓涓嬩互鍚庯紝鍙堝彉鎴愪簡node2鍝嶅簲鐨勩傚氨杩欐牱瀹炵幇浜璐熻浇鍧囪 鐨勬晥鏋溿傜敱涓や釜鏈嶅姟...
  • nginx璐熻浇鍧囪 鐨勪笁绉嶆柟寮
    绛旓細1. 杞锛圧ound Robin锛夛細杩欐槸nginx榛樿鐨璐熻浇鍧囪 鏂瑰紡銆傚綋璇锋眰鍒版潵鏃讹紝nginx鎸夌収鏈嶅姟鍣ㄥ垪琛ㄧ殑椤哄簭锛屽皢璇锋眰渚濇鍒嗛厤鍒板悇涓湇鍔″櫒涓娿傚綋鎵鏈夋湇鍔″櫒閮藉凡鎺ユ敹鍒拌姹傚悗锛宯ginx鍐嶆鍥炲埌鍒楄〃鐨勮捣濮嬩綅缃紝杩涜涓嬩竴杞殑鍒嗛厤銆傝繖绉嶆柟寮忕畝鍗曟槑浜嗭紝閫傜敤浜庢湇鍔″櫒鎬ц兘鐩歌繎锛屼笖璇锋眰鍒嗗竷鍧囧寑鐨勫満鏅備緥濡傦紝鎴戜滑鏈変笁鍙版湇鍔″櫒...
  • nginx甯哥敤鐨璐熻浇鍧囪 绛栫暐
    绛旓細1. 杞锛圧ound Robin锛夛細杩欐槸nginx榛樿鐨璐熻浇鍧囪 绛栫暐銆俷ginx灏嗘瘡涓柊鐨勮姹傛寜椤哄簭鍒嗗彂鍒板悗绔湇鍔″櫒鍒楄〃涓殑涓嬩竴涓湇鍔″櫒銆傚綋鍒拌揪鍒楄〃鐨勬湯灏炬椂锛屽畠浼氬洖鍒板垪琛ㄧ殑椤堕儴骞剁户缁垎鍙戙傝繖绉嶇瓥鐣ュ亣璁炬墍鏈夊悗绔湇鍔″櫒鐨勫鐞嗚兘鍔涢兘鏄浉鍚岀殑銆備緥濡傦紝濡傛灉鏈変笁涓悗绔湇鍔″櫒A銆丅鍜孋锛宯ginx灏嗛鍏堝悜鏈嶅姟鍣ˋ鍙戦佽姹傦紝鐒...
  • nginx璐熻浇鍧囪 绛栫暐
    绛旓細nginx璐熻浇鍧囪 绛栫暐 Nginx璐熻浇鐨5绉嶇瓥鐣ヨ缃柟娉曪細1銆佽疆璇紙榛樿锛夋瘡涓姹傛寜鏃堕棿椤哄簭閫愪竴鍒嗛厤鍒颁笉鍚岀殑鍚庣鏈嶅姟鍣锛屽鏋滃悗绔湇鍔″櫒down鎺夛紝鑳借嚜鍔ㄥ墧闄ゃ倁pstream backserver { server 192.168.1.62;server 192.168.1.64;} 2銆佹寚瀹氭潈閲 鎸囧畾杞鍑犵巼锛寃eight鏉冮噸澶у皬鍜岃闂瘮鐜囨垚姝f瘮锛岀敤浜庡悗绔湇鍔″櫒鎬ц兘...
  • Nginx瀹炵幇璐熻浇鍧囪 
    绛旓細鎴戜滑浠庡畼缃戜笂闈㈢湅涓涓璐熻浇鍧囪 閰嶇疆妗堜緥锛岀劧鍚庢牴鎹渚嬮厤缃幓瀵规瘡椤瑰弬鏁拌繘琛岃В閲婏紝妗堜緥濡備笅( 娉ㄦ剰锛氫互涓嬫ā鍧楀唴瀹瑰繀椤绘斁鍦╤ttp妯″潡涓 )锛氫粠涓婇潰杩欎釜妗堜緥Nginx浼氫綔濡備笅鎵ц锛岄粯璁ゆ儏鍐典笅锛岃姹備娇鐢 鍔犳潈寰幆骞宠 娉曘 鍦ㄤ笂闈㈢殑绀轰緥涓紝姣 7 涓姹傚皢鎸夊涓嬫柟寮忓垎閰嶏細 5涓姹傚幓 backend1.example.com 鍚戠浜...
  • nginx濡備綍瀹炵幇璐熻浇鍧囪 銆侀檺娴併佺紦瀛樸侀粦鐧藉悕鍗曞拰鐏板害鍙戝竷
    绛旓細1.璐熻浇鍧囪 閰嶇疆 2.澶辫触閲嶈瘯閰嶇疆 鍦╢ail_timeout鏃堕棿鍐呭け璐ヤ簡max_fails娆¤姹傚悗,璁や负涓婃父鏈嶅姟鍣ㄤ笉鍙敤,灏变細灏嗘湇鍔″湴鍧鍓旈櫎鎺,fail_timeout鏃堕棿鍚庝細鍐嶆灏嗘湇鍔″櫒鍔犲叆瀛樻椿鍒楄〃杩涜閲嶈瘯銆俵imit_req_zone鎸囦护璁剧疆鍙傛暟 鍙傛暟璇存槑 limit_req_zone瀹氫箟鍦╤ttp鍧椾腑锛$binary_remote_addr琛ㄧず淇濆瓨瀹㈡埛绔疘P鍦板潃鐨勪簩杩涘埗...
  • Nginx鐨璐熻浇鍧囪 妯″紡鏈夊摢鍑犵
    绛旓細鍦 Nginx.conf 鏂囦欢涓厤缃 upstream 鑺傜偣锛屾寚瀹氬悗绔湇鍔″櫒鐨 IP 鍦板潃鍜岀鍙o紝浠ュ強璐熻浇鍧囪 鐨勭瓥鐣ャ侼ginx 鏀寔澶氱璐熻浇鍧囪 鐨勭瓥鐣ワ紝濡傝疆璇佸姞鏉冭疆璇両P 鍝堝笇銆佹渶灏戣繛鎺ョ瓑銆傚湪 server 鑺傜偣涓厤缃 proxy_pass 鎸囦护锛屽皢瀹㈡埛绔殑璇锋眰杞彂缁 upstream 鑺傜偣銆傞噸鍚垨閲嶆柊鍔犺浇 Nginx 鏈嶅姟锛屼娇閰嶇疆鐢熸晥銆傚湪瀹㈡埛绔...
  • 鍒╃敤nginx瀹炵幇Redis鐨璐熻浇鍧囪 ,搴旇鎬庝箞閰嶇疆?
    绛旓細褰撶劧锛屼互涓nginx鐨勯厤缃槸绠鍗曞寲鐨勶紝瀹為檯涓婃垜浠繕鍙互閰嶇疆nginx瀵归潤鎬佽祫婧愮殑缂撳瓨绛夌瓑锛屽湪姝ゅ氨涓嶅鍔犳紨绀轰簡銆4.灏忕粨 鑺变簡濂戒簺鏃堕棿锛屾荤畻闄嗛檰缁画瑕佸啓濂戒簡锛屽湪姝ゅ皬缁撲竴涓嬨俷ginx浣滀负涓涓弽鍚戜唬鐞嗘湇鍔″櫒锛岃兘缂撳瓨鎴戜滑椤圭洰鐨勯潤鎬佹枃浠讹紝骞跺疄鐜板弽鍚戜唬鐞嗕笌鍧囪 璐熻浇锛屽彲浠ユ湁鏁堝噺灏戞湇鍔″櫒鍘嬪姏锛屽嵆浣块」鐩笉澶э紝涔熷彲浠...
  • nginx璐熻浇鍧囪 鐨勬寚浠
    绛旓細1銆佽法骞冲彴锛Nginx鍙互鍦ㄥぇ澶氭暟Unix-like OS缂栬瘧鎵ц锛屽苟涓斾篃鏈塛indows鐨勭Щ妞嶇増鏈2銆侀厤缃紓甯哥畝鍗曪細闈炲父瀹规槗涓婃墜銆傞厤缃鏍艰窡绋嬪簭寮鍙戜竴鏍凤紝绁炰竴鑸殑閰嶇疆銆3銆侀潪闃诲銆侀珮骞跺彂杩炴帴锛氭暟鎹鍒舵椂锛岀鐩業/O鐨勭涓闃舵鏄潪闃诲鐨勩傚畼鏂规祴璇曡兘澶熸敮鎾5涓囧苟鍙戣繛鎺ワ紝鍦ㄥ疄闄呯敓浜х幆澧冧腑璺戝埌2锝3涓囧苟鍙戣繛鎺ユ暟銆4銆...
  • 扩展阅读:nginx负载均衡出现404 ... nginx部署 ... 服务器nginx配置 ... nginx面试题及答案 ... nginx负载均衡面试题 ... nginx负载均衡的5种策略 ... nginx负载均衡是什么 ... 如何搭建nginx负载均衡 ... nginx负载均衡 服务器故障 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网