nginx + tomcat配置负载均衡

目标: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 >
    <head>this is 8081 port</head>
</html>

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

<!DOCTYPE html>

<html >
    <head>this is 8082 port</head>
</html>

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

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

3、Nginx+Tomcat负载均衡配置

这里只需要修改Nginx的配置,让它通过tomcat来转发。

a、nginx.conf配置文件

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;
}

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

upstream mysite {
    server localhost:8081 weight=5;
    server localhost:8082 weight=5;
}
 
server {
    listen 80;
    server_name localhost;
  
    location / {
    proxy_pass http://mysite;
    }
}

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

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

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