您的位置:首页 > 运维架构 > Tomcat

Windows下Nginx1.8.1+Tomcat7.0.65集成实现负载均衡集群示例

2016-12-07 10:59 931 查看
Nginx (“engine x”) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。Nginx 超越 Apache 的高性能和稳定性。

Nginx+Tomcat是目前主流的Java web架构,很多公司在使用,Nginx+Tomcat通过简单的配置,可以实现高性能的负载均衡,通过本文学习,可以实现Nginx+Tomcat负载均衡。

工具资源

1、Java运行环境,JDK

2、Tomcat7.0.65压缩版 下载

3、Nginx1.8.1稳定版 下载

本文基于win10进行配置

配置步骤

1、JDK环境配置 略

2、Tomcat安装配置

请参考: 一台服务器安装运行多个Tomcat及注册服务

本测试安装两个Tomcat,端口分别是8801和8802

安装配置完成后请确保每一个Tomcat可以正常访问

为了区分两个Tomcat,本文将第二个Tomcat的页面名称改为:Apache Tomcat/7.0.65-2

3、Nginx配置

解压Nginx到D盘根目录



修改Nginx配置

#user  nobody;
worker_processes  1;  #工作进程的个数

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
worker_connections  1024; #单个进程最大连接数
}

http {
include       mime.types;  #文件扩展名与文件类型映射表
default_type  application/octet-stream;  #默认文件类型

#access_log  logs/access.log  main;

sendfile        on; #开启高效文件传输模式
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65; #长连接超时时间,单位是秒

#gzip  on; #启用Gizp压缩

#服务器的集群
upstream  tomcatColony {  #服务器集群名字
server    127.0.0.1:8801  weight=0;
server    127.0.0.1:8802  weight=1;
}

server {
listen       8080; #监听端口,默认是80,可以修改
server_name  localhost; #当前服务的域名

location / {
proxy_pass http://tomcatColony;  #指定使用集群
proxy_redirect default;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
}


注意:nginx在配置upstream时,有两个参数:

ip_hash(同一IP一直使用同一台server服务)

weight(server的使用权重,数值越大,nginx分发的请求越多)

启动Nginx

Nginx目录下:D:\nginx-1.8.1,运行nginx.exe,即可启动。启动可查看进程



效果

访问:http://127.0.0.1:8080/,即可打开Tomcat,通过不断F5刷新,可以观察在Tomcat1、2之间切换,由于集群中Tomcat2权重配置较大,所有Tomat分配到Tomcat的几率就大一些。





总结

通过以上简单配置,可以实现高性能负载均衡,Nginx不仅仅实现反向代理,同时可以实现Http请求处理,可以结合Tomcat实现动静分离,静态资源交由Nginx处理,动态请求分配给Tomcat处理,这样大大减轻后端Tomcat的处理压力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息