原博文出于:  http://blog.csdn.net/liutengteng130/article/details/47129909   感谢!

Nginx占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用Nginx网站用户有:新浪,网易,腾讯,淘宝等.

  以淘宝为例,进入淘宝主页,按F12。选择“NetWork”

本文主要是基于Nginx搭建tomcat集群.

环境:

Win8.1,JDK 1.6 , Nginx1.9.3

   Tomcat 7.0.63(两个tomcat服务器)

结构:

一、Nginx之反向代理

1、Nginx配置:

  1. upstreamlocahost{
  2. #ip_hash;
  3. server192.168.24.17:8080  weight=1;
  4. server192.168.24.43:8080  weight=2;
  5. }

2、效果:

  反向代理:对于客户端而言,它就像是演示服务器,并且客户端不需要进行任何特别的设置.客户端反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样.前面博客:Nginx是什么?里面介绍了.

二、Nginx之负载均衡

1、实例

a.Nginx配置

  1. upstream192.168.24.17{
  2. #ip_hash;
  3. server192.168.24.17:8080  weight=1;
  4. server192.168.24.43:8080  weight=2;
  5. }
  6. #gzip on;
  7. server {
  8. listen       8888;
  9. server_name  192.168.24.17;
  10. #charset koi8-r;
  11. #access_log  logs/host.access.log  main;
  12. location / {
  13. root   html;
  14. index  index.html index.htm;
  15. proxy_pass  http://192.168.24.17;
  16. proxy_connect_timeout1;
  17. proxy_send_timeout30;
  18. proxy_read_timeout60;
  19. }
  20. error_page   500 502 503 504  /50x.html;
  21. location = /50x.html {
  22. root   html;
  23. }

b.配置说明:

a.Weight:权重,值越大,命中率越高

b.上面标红的地方:192.168.24.17,这三处要一致才能实现负载均衡的效果.

c.实验效果:

  说明:这个IP以及端口号是nginx设置的名称以及端口号.访问后能分别调用到后端不同的服务器.实现负载均衡效果.进一步可以看出本实例使用的是轮询的方式,也就是负载均衡默认的方式.

2.原理

1).upstream负载均衡模块说明:

upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡.在上面的设定中,听过upstream指令指定了一个负载均衡的名称为192.168.24.17.这个名称可以任意指定,在后面需要用到的地方直接调用即可.

2).updtream支持的负载均衡算法

Nginx的负载均衡模块目前支持4种调度算法.

  1. 轮询(默认).每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动提出,使用户访问不受影响.Weight指定轮询权值,Weight值越大,分配到的访问几率越高,用于后端每个服务器性能不均的情况下.
  1. ip_hash 每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题.
  2. fair这是比上面两个更加智能的负载均衡算法.这种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配.Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块.
  3. url_hash此方法按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率.Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx的hash软件包.

3).upstream支持的状态参数

在HTTP Upstream模块汇总,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态.常用的状态有:

  1. down,表示当前的server暂时不参与负载均衡.
  2. backup,预留的备份机器.当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这才记起的眼里最轻.
  3. max_fails,允许请求失败的次数,默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误.
  4. fail_timeout,在经历了max_fails次失败后,暂停服务时间.max_fails可以和fail_timeout一起使用.

注:当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能使weight和backup.

通过这种方式,当我们的网站访问量越来越大时,我们就能承受更多的压力,并且能够动态的添加服务器.配置负载均衡很简单,那么如何实现多台服务器之间session的共享呢?下篇继续介绍.

注意:nginx放到中文目录下,启动时会有问题.

打印出来的日志:

[emerg] 10744#10916: CreateFile()"E:\02 Java内容学习汇总\Nginx\nginx-1.4.7/conf/nginx.conf"failed (1113: No mapping for the Unicode character exists in the targetmulti-byte code page)

转载于:https://www.cnblogs.com/zlslch/p/6033578.html

【转】Nginx系列(五)--nginx+tomcat实现负载均衡相关推荐

  1. Nginx+Tomcat服务器负载均衡实践方案

    1.    为何选择Nginx+Tomcat做负载均衡? 1.1. Nginx是什么? Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3 ...

  2. NGINX基于Tomcat配置负载均衡

    NGINX基于Tomcat配置负载均衡 本部署指南说明了如何使用NGINX开源和NGINX Plus在Apache Tomcat TM应用程序服务器池之间平衡HTTP和HTTPS流量.本指南中的详细说 ...

  3. Nginx+Tomcat实现负载均衡、动静分离集群部署

    Nginx+Tomcat实现负载均衡.动静分离集群部署 一.Tomcat多实例部署 1.安装好jdk 2.安装tomcat 3.配置tomcat环境变量 4.修改tomcat2中的server.xml ...

  4. nginx+tomcat的负载均衡

    nginx+tomcat的负载均衡 一. Nginx的安装配置 1. Nginx服务器端 Nginx服务器的IP:192.168.5.108 Tomcat01的IP:   192.168.5.102 ...

  5. nginx+tomcat+memcached负载均衡

    2019独角兽企业重金招聘Python工程师标准>>> nginx+tomcat+memcached负载均衡 负载均衡: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服 ...

  6. nginx+tomcat实现负载均衡集群

    一台tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下 所以需要一套可靠的解决方案来完善web站点架构 而Nginx只能访问静态页面,如果需要动态需要 ...

  7. nginx+tomcat+redis负载均衡及session共享

    概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...

  8. Nginx+Tomcat+Redis负载均衡实现Session共享

    Nginx+Tomcat+Redis负载均衡实现Session共享 环境描述 tomcat1:192.168.194.100:18080 tomcat2:192.168.194.100:28080 N ...

  9. Nginx+Tomcat实现负载均衡与动静分离

    Nginx+Tomcat实现负载均衡与动静分离 一.Nginx负载均衡和动静分离 1.Nginx 实现负载均衡是通过反向代理实现 反向代理(Reverse Proxy) 是指以 代理服务器(例:Ngi ...

  10. Nginx系列五: handler 模块

    Nginx系列一:概念和配置 Nginx系列二: Nginx 的数据结构 Nginx系列三: Nginx 高级数据结构 Nginx系列四: Nginx的配置指令和handler模块概述 Nginx系列 ...

最新文章

  1. vue上传图片组件编写
  2. pemicro识别不了驱动_usb驱动无法识别怎么办-usb驱动无法识别通常解决办法 - 河东软件园...
  3. 为什么 HTTPS 是安全的?
  4. Ubuntu连接以太网时显示“设备未托管”的解决办法
  5. MyBatis基本配置和实践(三)
  6. php设置表单为整数,PHP中如何判断FROM表单提交的数字是否为整数?
  7. C语言丨线性表(一):顺序表
  8. 领域驱动设计-基本概念
  9. 初识Spring Boot
  10. python 优先队列_Python Queue队列实现线程通信
  11. 如何把SWF转为PDF文件
  12. 清华北大领跑亚洲,泰晤士高等教育2020世界大学排名发布!
  13. 小米摄像头有onvif协议_小米8SE、魅族16T、荣耀畅玩9A对比
  14. 笔记-15 网络编程入门 UDP通信程序 TCP通信程序 练习
  15. n个节点互异的拉格朗日插值基函数之和等于一证明
  16. 阿里安全潘多拉实验室首先完美越狱苹果iOS 11.2
  17. Windows-CMD常用命令总结
  18. 软件测试就是找茬的?那些年和开发小哥的“爱恨情仇”
  19. 数字化转型再下一城,数字孪生厂商优锘科技宣布完成超3亿元融资
  20. 高权重网站外链如何建设和打造?

热门文章

  1. JavaEE 的基本实现
  2. login控件“您的登录尝试不成功。请重试”的解决方法
  3. Global Mapper总汇
  4. 基于NHibernate的三层结构应用程序开发初步
  5. 使用@Transactional应注意的问题
  6. TCP/IP和OSI4层、7层协议介绍
  7. 【onethink1.0】HTML模板获取前台和后台当前登录用户名
  8. 对象级别锁 vs 类级别锁 – Java
  9. HaoZip(好压) 去广告纯净版 4.4
  10. watchdog应用实例