nginx实现tomcat负载均衡

配置环境:

最少两台tomcat服务器和一台nginx服务器

先来配置tomcat服务器1,在安装了tomcat服务的基础上

1.首先在根目录下建立一个web目录,并在里边建立一个webapp目录,用于存放网站文件

mkdir -pv /web/webapp

2.在webapp目录下建立一个index.jsp的测试页面

vim /web/webapp/index.jsp

 添加内容:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test page</title>
</head>
<body>
<%out.println("Welcome come to test site,http://wwww.test1.com");%>
</body>
</html>

3.修改tomcat的server.xml文件

定义一个虚拟主机,并将网页文件路径指向已经建立的/web/webapp,在host段增加context段

cd /usr/local/tomcat8/conf/

cp server.xml server.xml.bak

vim server.xml

150行添加内容:

<Context docBass="/web/webapp" path="" reloadable="flase">

</Context>

4.重启服务

/usr/local/tomcat8/bin/shutdown.sh

/usr/local/tomcat8/bin/startup.sh

5.进入网页进行测试

IP地址后跟端口号:8080

6.查看文件日志

ls /usr/local/tomcat/logs/

tomcat服务器2,同1配置一样,只有在主配置文件中的网页不同

===========================================================

 

接下来在安装了nginx服务的基础上配置nginx服务器

1.修改配置文件

vim /usr/local/nginx/conf/nginx.conf

添加内容:

在keepalive timeout 65下

定义一个资源池:

upstream tomcat_server {

server 192.168.200.112:8080 weight=1;

server 192.168.200.113:8080 weight=1;  

}

weight表示权重,能力越大,权重越大

**负载均衡调度状态:

down  表示当前server不参与负载

backup  预留的备用机器,压力小

max_fails  允许请求失败的次数

fail_timeout  请求失败超时时间,在经历max_fails后,暂停服务

 

在一个location下

location ~\.jsp$ {

proxy_pass http://tomcat_server;

proxy_set_header Host $http_host;

}

2.创建一个软连接

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

3.起服务

killall -HUP nginx

注:如果后端服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败,报400错误。

 

posted @ 2019-09-20 16:08  Joshua¥A¥  阅读(135)  评论(0编辑  收藏  举报