tomcat1:192.168.1.11

tomcat2:192.168.1.155

nginx:192.168.1.155

静态分离:192.168.1.155

nginx:

location / {

        root   /www/webapps/;

        index  index.html index.htm index.jsp;

    }

    location ~* \.(jsp|do)$ {

        proxy_set_header X-Forwarded-Host $host;

        proxy_set_header X-Forwarded-Server $host;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass  http://192.168.1.155:8080;

    }

1、给/www/webapps/目录下提供一个index.html文件

[root@RS1 webapps]# cat index.html 

<h1>Test Page</h1>

2、将tomcat默认文件修改一下

[root@RS1 webapps]# cd /usr/local/tomcat7/webapps/ROOT/

[root@RS1 ROOT]# ls

asf-logo.png       bg-middle.png    bg-upper.png  index.jsp          tomcat.css  tomcat-power.gif

asf-logo-wide.gif  bg-nav-item.png  build.xml     index.jsp.bak      tomcat.gif  tomcat.svg

bg-button.png      bg-nav.png       favicon.ico   RELEASE-NOTES.txt  tomcat.png  WEB-INF

[root@RS1 ROOT]# cat index.jsp

<%@ page language="java" %>

<%@ page import="java.util.*" %>

<html>

  <head>

    <title>JSP Test Page</title>

  </head>

  <body>

    <%

out.println("Hello world!");

    %>

  </body>

</html>

当浏览器访问http://192.168.1.155时,因为默认的是index.html于是访问的是静态页面

tomcat篇之与nginx结合做静态分离和负载均衡_combine

当浏览器访问http://192.168.1.155/index.jsp时,就会跳到192.168.1.155:8080端口的tomcat服务上

tomcat篇之与nginx结合做静态分离和负载均衡_ with_02

于是简单的动静分离就完成了


负载均衡:

tomcat1:192.168.1.11:8080

tomcat2:192.168.1.155:8080

nginx:192.168.1.155作为前端反代理

先做个测试,一一查看tomcat服务器的页面

访问192.168.1.11:8080

tomcat篇之与nginx结合做静态分离和负载均衡_ with_03

当访问192.168.1.155:8080时

tomcat篇之与nginx结合做静态分离和负载均衡_ with_04

于是开始配置nginx

在/etc/nginx/nginx.conf中配置upstream模块

upstream tomcat {

        server 192.168.1.11:8080;

        server 192.168.1.155:8080;

    }

在/etc/nginx/conf.d/default.conf中配置如下操作

location / {

        root   /www/webapps/;

        index  index.html index.htm index.jsp;

    }

    location ~* \.(jsp|do)$ {

        proxy_set_header X-Forwarded-Host $host;

        proxy_set_header X-Forwarded-Server $host;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass  http://tomcat;仅仅修改了这里

    }

重启nginx服务

访问浏览器http://192.168.1.155/index.jsp

tomcat篇之与nginx结合做静态分离和负载均衡_tomcat_05

明显可以看出来这是192.168.1.11上的tomcat1上面的默认页面,由于静态页面都在tomcat1上,而本地nginx服务上并没有,所以出现的是这样的页面

然后刷新页面可以看到下面的页面

tomcat篇之与nginx结合做静态分离和负载均衡_ with_06于是负载均衡效果已达到