首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginx+Tomcat 配置负载均衡集群

目的:

同一个项目部署到多个tomcat中,共用80端口。停掉其中任何一个(只要服务有一个在运行),都不会影响用户的使用。

一、项目准备

准备Java项目测试包。

2.访问该项目:

3.利用eclipse打包项目Test

二、准备tomcat及Java运行环境,此处省略。(百度很多,,,就不写了)

Java运行环境及tomcat安装完成后;复制一个tomcat在当前目录。

第一个tomcat 设置server.xml中的端口为8088

第二个tomcat 设置server.xml中的端口为8089

把Java项目Test.war分别放入tomcat1和tomcat2的webapps目录下。启动tomcat!

访问tomcat1地址:http://localhost:8088/Test/index.html

访问tomcat2地址:http://localhost:8089/Test/index.html

三、准备Nginx

描述:

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

Nginx 安装

1.安装编译工具及库文件

yum-y install make zlib zlib-devel gcc-c++libtool openssl openssl-devel

2.首先要安装 PCRE

PCRE 作用是让 Nginx 支持 Rewrite 功能。

2.1、下载 PCRE 安装包,下载地址:http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

[root@bogon src]#wgethttp://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2.2、解压安装包:

[root@bogon src]#tar zxvf pcre-8.35.tar.gz

2.3、进入安装包目录

[root@bogon src]#cd pcre-8.35

2.4、编译安装

[root@bogon pcre-8.35]#./configure[root@bogon pcre-8.35]#make&&make install

2.5、查看pcre版本

[root@bogon pcre-8.35]#pcre-config--version

3.安装 Nginx

3.1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz

[root@bogon src]#wgethttp://nginx.org/download/nginx-1.6.2.tar.gz

3.2、解压安装包

[root@bogon src]#tar zxvf nginx-1.6.2.tar.gz

3.3、进入安装包目录

[root@bogon src]#cd nginx-1.6.2

3.4、编译安装

[root@bogon nginx-1.6.2]#./configure--prefix=/usr/local/webserver/nginx--with-http_stub_status_module--with-http_ssl_module--with-pcre=/usr/local/src/pcre-8.35[root@bogon nginx-1.6.2]#make[root@bogon nginx-1.6.2]#make install

3.5、查看nginx版本

[root@bogon nginx-1.6.2]#/usr/local/webserver/nginx/sbin/nginx-v

到此,nginx安装完成。

4.配置nginx

4.1进入Nginx配置文件目录:

4.2vim nginx.conf配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

upstream Test{

server 127.0.0.1:8088;#服务器地址1

server 127.0.0.1:8089;#服务器地址2

}

4.3在location\{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致。

location / {

root html; i

ndex index.html index.htm;

proxy_pass http://nginxDemo;#配置方向代理地址

}

查看配置文件Nginx.conf是否正确

/usr/local/webserver/nginx/sbin/nginx-t

启动Nginx:

/usr/local/webserver/nginx/sbin/nginx

访问Nginx是否启动成功:

http://localhost

Nginx启动成功后:

http://localhost/Test/index.html 就可以访问Test项目

停掉其中任意一台服务器都不会影响用户的使用!一个简单的负载均衡集群搭建完毕!

这样就方便随时升级,不至于每次测试完成后都要等到深夜!

五、nginx负载均衡策略5.1、轮询(默认)

每个web请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

5.2、最少链接

web请求会被转发到连接数最少的服务器上。

5.3、weight 权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,weight默认是1。

5.4、ip_hash

每个请求按访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一服务器进行处理,可以解决session的问题。当后台服务器宕机时,会自动跳转到其它服务器。

基于weight的负载均衡和基于ip_hash的负载均衡可以组合在一起使用。

5.5、url_hash(第三方)

url_hash是nginx的第三方模块,nginx本身不支持,需要打补丁。

nginx按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存服务器、文件服务器、静态服务器时比较有效。缺点是当后端服务器宕机的时候,url_hash不会自动跳转的其他缓存服务器,而是返回给用户一个503错误。

5.6、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171222G0EODK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券