windows下使用Nginx服务器实现负载均衡方法
windows下使用Nginx服务器实现负载均衡方法
安装与基本配置
首先下载windows的版本Nginx服务器
下载地址如下:
http://www.nginx.org/download/nginx-1.2.3.zip
解压以后
双击nginx.exe黑屏一闪而过,查看进程 nginx.exe已经启动。
浏览器输入http://localhost/
出现如下字样:
Welcome to nginx!
到这里,Nginx已经配置完毕。
配置完环境变量后,就可以使用以下命令来启动和关闭Nginx服务。
1)start nginx 启动命令
2)nginx -s stop 快速停止nginx,并不保存相关信息.
3)nginx -s quit 完整有序的停止nginx,并保存相关信息。
Nginx的反向代理
编辑\conf\nginx.conf 里的server 段
location / {proxy_pass http://127.168.0.0.1:8080;
}
当访问http://localhost/时nginx 会代理访问到 http://127.168.0.0.1:8080/ ,并返回给我们
但如果配置如下:
location / {proxy_pass http://127.168.0.0.1:9090;
}
当访问http://localhost/时nginx 会代理访问到 http://127.168.0.0.1:9090/ ,并返回给我们
反向代理配置如上
Nginx实现负载均衡
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 5 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
4)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5)、url_hash(第三方)
配置:
在http节点里添加:
#定义负载均衡设备的 Ip及设备状态upstream myServer {server 127.0.0.1:9090 down;server 127.0.0.1:8080 weight=2;server 127.0.0.1:6060;server 127.0.0.1:7070 backup;}
在需要使用负载的Server节点下添加
proxy_pass http://myServer;
upstream 每个设备的状态:
down 表示单前的server暂时不参与负载
weight默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
Nginx还支持多组的负载均衡,可以配置多个upstream来服务于不同的Server.
配置负载均衡比较简单,但是最关键的一个问题是怎么实现多台服务器之间session的共享
nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端,这样一来这个ip下的某个客户端和某个后端就能建立起稳固的session,ip_hash是在upstream配置中定义的:
upstream backend {server 127.0.0.1:8080 ;server 127.0.0.1:9090 ;ip_hash;
}
ip_hash是容易理解的,但是因为仅仅能用ip这个因子来分配后端,因此ip_hash是有缺陷的,不能在一些情况下使用:
1/ nginx不是最前端的服务器。ip_hash要求nginx一定是最前端的服务器,否则nginx得不到正确ip,就不能根据ip作hash。譬如使用的是squid为最前端,那么nginx取ip时只能得到squid的服务器ip地址,用这个地址来作分流是肯定错乱的。
2/ nginx的后端还有其它方式的负载均衡。假如nginx后端又有其它负载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求肯定不能定位到同一台session应用服务器上。这么算起来,nginx后端只能直接指向应用服务器,或者再搭一个squid,然后指向应用服务器。最好的办法是用location作一次分流,将需要session的部分请求通过ip_hash分流,剩下的走其它后端去。
windows下使用Nginx服务器实现负载均衡方法相关推荐
- nginx服务器的负载均衡和动静分离(未完)
安装nginx,我的博客里面有介绍源码和yum安装. 实战:使用nginx实现动静分离的负载均衡集群 实战:使用haproxy实现负载均衡集群 LB负载均衡集群分为两类:LVS(四层)和Nginx或p ...
- Nginx 之五: Nginx服务器的负载均衡、缓存与动静分离功能
一.负载均衡: 通过反向代理客户端的请求到一个服务器群组,通过某种算法,将客户端的请求按照自定义的有规律的一种调度调度给后端服务器. Nginx的负载均衡使用upstream定义服务器组,后面跟着组名 ...
- Nginx配置实例-负载均衡实例:平均访问多台服务器
场景 Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- Linux下Nginx+多Tomcat负载均衡实现详解
一.简介 [Nginx] 大名鼎鼎,麻雀虽小五脏俱全,它拥有小而稳且高效的特性.为目前大多数中小企业所使用.nginx可以做以下几件事: 反向代理 负载均衡 动静分离 网页.图片缓存 [Tomcat] ...
- 使用两台服务器做负载均衡(nginx版)
使用两台服务器做负载均衡(nginx版) 一.环境准备 在使用两台服务器做负载均衡前,首先要把环境配置好. 两台服务器上启动的项目都是一样的. 用到的项目包:前端的dist打包文件,后端的jar包: ...
- windows使用nginx+memcached实现负载均衡和session或者缓存共享
windows使用nginx+memcached实现负载均衡和session或者缓存共享 两台server server1:115.29.186.215 windows2008 64位操作系统 ser ...
- 搭建Keepalived+Nginx高可用负载均衡服务器
一.服务器搭建策略 单机模式: 只有一台应用服务器,组成一个单机模式 优点:简单方便(搭建.运营.维护) 缺点:不能出故障(停电.断网.系统崩溃.硬件老化.性能瓶颈) 应用场景:小型项目(几十个人) ...
- Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现session共享(一)
摘要:随着网站的访问量越来越多,所以就考虑给网站增加服务器了,现在比较流行的做法就是给网站做集群环境,下面我把我做的过程记录一下,方便日后查看,同时也希望可以帮助到有需要的朋友! 一:首先是环境: 1 ...
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
最新文章
- 我叫Java,2019年总结,大家请查收
- 算法代码[置顶] 机器学习实战之KNN算法详解
- AUTOSAR从入门到精通100讲(三十六)-AUTOSAR 通信服务两步走-CanSM概念-配置及代码分析
- 电脑键盘按钮功能注释大全
- 怎么升级计算机硬盘,研究僧 篇一:记一次老电脑的升级之路
- DistCp迁移Hive数据过程中源集群增加删除文件等场景测试
- 实战项目| 7天掌握神经网络预测模型
- 压缩和解压文件:tar gzip bzip2 compress(转)
- 数字后端基本概念介绍<Endcap Cell>
- 3.指定IP地址抓包
- wpf中内容包含在border中_Excel中创建包含注释的数学公式
- 红帽学习笔记[RHCSA] 第三课[输出重定向、Vi编辑器]
- 课程设计之学生选课管理系统
- 路由器最高速度/性能测试 - Windows 安装 IPerf3 及 使用方法
- 计算机组装训练知识总结,组装知识总结
- 对抗神经网络(一)——GAN
- python爬虫——web前端基础(4)
- Windows和Mac OS的伽马值
- windows防火墙设置_Windows防火墙:您应该知道的事情
- html语言制作折线图,html5 canvas 实现简单绘制折线图
热门文章
- java值传递和引用传递_辨析Java方法参数中的值传递和引用传递
- (91)FPGA时钟分频与倍频问题,面试必问(十五)(第19天)
- (40)Verilog HDL锁存器设计
- lstm原始论文_RNN及其改版(LSTM, 双向RNN, seq2seq)总结
- STM32F103:二.(3)DHT11温湿度
- 无源波分和彩光模块_5G前传WDM解决方案,无源波分和彩光模块
- java对多态的理解_对于Java中多态的理解
- 从程序员到项目经理(七):程序员加油站 -- 完美主义也是一种错
- 内核同步机制-信号量(semaphore)
- python online json editor_JSON Editor 中文文档