Nginx占有内存少,并发能力强,其实Nginx的并发能力确实在同类型的网页伺服器中表现较好.眼下中国大陆使用Nginx站点用户有:新浪,网易,腾讯等.html
本文主要是基于Nginx搭建tomcat集群.java
环境:nginx
Win8.1,JDK 1.6 , Nginx1.9.3算法
Tomcat 7.0.63(两个tomcatserver)后端
结构:缓存
upstreamlocahost{ #ip_hash; server192.168.24.17:8080 weight=1; server192.168.24.43:8080 weight=2; }
反向代理:对于client而言,它就像是演示server,并且client不需要进行不论什么特别的设置.client反向代理的命名空间中的内容发送普通请求,接着反向代理将推断向何处转交请求,并将得到的内容返回给client,就像这些内容本来就是它本身的同样.前面博客:Nginx是什么?里面介绍了.tomcat
upstream192.168.24.17{ #ip_hash; server192.168.24.17:8080 weight=1; server192.168.24.43:8080 weight=2; } #gzip on; server { listen 8888; server_name 192.168.24.17; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_pass http://192.168.24.17; proxy_connect_timeout1; proxy_send_timeout30; proxy_read_timeout60; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
a.Weight:权重,值越大,命中率越高session
b.上面标红的地方:192.168.24.17,这三处要一致才干实现负载均衡的效果.并发
说明:这个IP以及port号是nginx设置的名称以及port号.訪问后能分别调用到后端不一样的server.实现负载均衡效果.进一步可以看出本实例使用的是轮询的方式,也就是负载均衡默认的方式.app
upstream是Nginx的HTTP Upstream模块,这个模块经过一个简单的调度算法来实现clientIP到后端server的负载均衡.在上面的设定中,听过upstream指令指定了一个负载均衡的名称为192.168.24.17.这个名称可以随意指定,在后面需要用到的地方直接调用就能够.
Nginx的负载均衡模块眼下支持4种调度算法.
在HTTP Upstream模块汇总,可以经过server指令指定后端server的IP地址和port,同一时候还可以设定每个后端server在负载均衡调度中的状态.常常使用的状态有:
注:当负载调度算法为ip_hash时,后端server在负载均衡调度中的状态不能使weight和backup.
经过这样的方式,当咱们的站点訪问量愈来愈大时,咱们就能承受不少其它的压力,并且能够动态的加入server.配置负载均衡很是easy,那么怎样实现多台server之间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)