nginx做负载均衡是在反向代理的基础上做的,代码如下:

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

nginx做负载均衡有如下几种方式:

1、RR(默认)  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 例如:

  1. upstream tomcats {
  2. server 10.1.1.107:88  max_fails=3 fail_timeout=3s weight=9;
  3. server 10.1.1.132:80  max_fails=3 fail_timeout=3s weight=9;

2、ip_hash  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 例如:

  1. upstream tomcats {
  2. ip_hash;
  3. server 10.1.1.107:88;
  4. server 10.1.1.132:80;
  5. }

3、fair(第三方)  按后端服务器的响应时间来分配请求,响应时间短的优先分配。

4、url_hash(第三方)  按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

nginx做负载均衡配置文件的更多相关文章

  1. 使用nginx做负载均衡的session共享问题

    查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不 ...

  2. nginx做负载均衡和tomcat简单集群

    Nginx做负载均衡和TOMCAT简单集群                1.下载安装nginx及其依赖包                                               ...

  3. 死磕nginx系列--使用nginx做负载均衡

    使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 ...

  4. K2使用Nginx做负载均衡

    K2使用Nginx做负载均衡 K2目前是支持Load Balancing这种方式,来做负载均衡,也可以使用F5来做负载均衡,但这次我使用nginx来实现K2的负载均衡 下载nginx 请下载nginx ...

  5. 解决docker中使用nginx做负载均衡时并发过高时的一些问题

    # 解决docker中使用nginx做负载均衡时并发过高时的一些问题 1.问题产生原因: 由于通过nginx作为负载均衡服务,在访问并发数量达到一定量级时jmeter报错. nginx日志关键信息:a ...

  6. 消费者用nginx做负载均衡,提供者用zookeeper自带功能实现负载均衡

    公司的项目基于阿里的Dubbo微服务框架开发.为了符合相关监管部门的安全要求,公司购买了华东1.华东2两套异地服务器,一套是业务服务器,一套是灾备服务器.准备在这两套服务器上实现Dubbo的分布式服务 ...

  7. nginx做负载均衡 tomcat获得客户端真实ip

    因项目需要做tomcat2台机器的负载均衡,配置好负载环境后,发现tomcat的日志一律是我前置nginx代理服务器的ip 通过百度教材发现需要修改nginx的配置文件,修改代理头信息,传递给后方,后 ...

  8. .net大型平台通过Nginx做负载均衡(Web层、中间服务层、DB层)

    .net平台下,我目前部署过的均衡负载有两种方式(iis7和Nginx),以下以Nginx为例讲解web层的均衡负载. 简介:Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx ...

  9. Nginx做负载均衡的几种轮询策略

    集群环境为了解决单点无法支撑高并发的情况,集群采用多台服务器提供服务,一般在集群中使用nginx 将来自客户端的请求转发给服务器端 nginx负载均衡可用提高网站的吞吐量,缓解单台服务器的压力. 一. ...

随机推荐

  1. echarts标准饼图解读(一)——提示框(tooltip)配置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 用JS实现回文数的精准辨别!!!

    笔者最近在一边看<JS高级程序设计3>一边在FCC上找题目练习啊.那叫一个爽.这不,刚刚用生命在课堂,寝室,实验室,图书馆等各种场所将第五章"引用类型"搞定,FCC便知 ...

  3. css笔记——css 实现自定义按钮

    css实现自定义按钮的样式实际上很早就有了,只是会用的人不是很多,里面涉及到了最基础的css写法,在火狐中按钮还是会显示出来,这时需要将i标签的背景设置为白色,同时z-index设置比input高一些 ...

  4. 设置图层符号风格为用已有mxd里的同名图层风格

    //要加载的IFeatureClass IFeatureClass pFeatClass = dataset as IFeatureClass; //新建要加载到mxd文档中的图层 IFeatureL ...

  5. HTML5+J2EE实现文件异步上传

    P.S. HTML5经过了W3C的8年努力,终于正式推广了.这次升级最大的就是升级了XMLHTTPRequest,让它变成了XMLHTTPRequest Level II(这有啥奇怪的?).这个对象现 ...

  6. zabbix3.0.3 设置邮件报警

    在zabbix3.0.3 设置报警这里卡了两天.终于解决了,这里我使用的mailx来作为发送邮件的客户端 1.设置mailx发信账号 yum -y install mailx ln -s /bin/m ...

  7. DevExpress gridLookUpEdit 实现多选

    一:创建类GridCheckMarksSelection   #region Fileds RepositoryItemGridLookUpEdit _currentRepository; prote ...

  8. 五个免费UML建模工具推荐

    UML工具很多是商用的,价格不菲:而免费的UML建模工具,功能完善的很少.以下推荐的是五个免费的UML建模工具,相对而言还算功能比较不错. 1.免费UML建模工具推荐:JUDE – community ...

  9. RequireJS入门与进阶

    RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以 ...

  10. angularJs--$apply和$watch,$digest方法的意思

    这个视图对应的控制器是 这样的话,这个date变量,是不会发生改变的,没有触发脏检查,所以这时候要$apply方法,所有自定义的方法都要用$apply来触发脏检查 这样那个日期就会变化了 $diges ...