目的:
同一个项目部署到多个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(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
领取专属 10元无门槛券
私享最新 技术干货