nginx + tomcat配置负载均衡

时间:2021-02-22 19:17:01

目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡。

注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7。

1、安装Nginx
安装Nginx教程

2、配置两个Tomcat
在本机上配置两个Tomcat,分别为tomcat7-8081、tomcat7-8082。
tomcat7-8081访问地址:http://localhost:8081,浏览显示内容:this is 8081 port
tomcat7-8082访问地址:http://localhost:8082,浏览显示内容:this is 8082 port

D:\div\tomcat7-8081\webapps\ROOT\index.jsp文件内容为:

<!DOCTYPE html>

<html lang="en">
<head>this is 8081 port</head>
</html>

D:\div\tomcat7-8082\webapps\ROOT\index.jsp文件内容为:

<!DOCTYPE html>

<html lang="en">
<head>this is 8082 port</head>
</html>

在同一台服务器上配置多个Tomcat教程

这样我们就成功的搭建了一个nginx服务,成功的配置了两个tomcat应用实例。

3、Nginx+Tomcat负载均衡配置
这里只需要修改Nginx的配置,让它通过tomcat来转发。
a、nginx.conf配置文件

nginx + tomcat配置负载均衡
worker_processes  1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 10;
include extra/upstream01.conf;
}
nginx + tomcat配置负载均衡

 

b、extra/upstream01.conf文件,负载均衡配置信息

nginx + tomcat配置负载均衡
upstream mysite {
server localhost:8081 weight=5;
server localhost:8082 weight=5;
}

server {
listen 80;
server_name localhost;

location / {
proxy_pass http://mysite;
}
}
nginx + tomcat配置负载均衡

当有请求到localhost时,请求会被分发到对应的upstream设置的服务器列表上,每一次请求分发的服务器都是随机的。

接着在运行一次start nginx,当你不断刷新http://localhost的时候,浏览器上就会来回切换"this is 8081 port"和"this is 8082 port"。

这样说明负载均衡配置成功了!!!!!!