Nginx + Tomcat 实现动静分离

因为基于不同的协议传输消息,一般的网络架构都是前端是Apache 或者 Nginx处理静态请求,Tomcat处理动态请求,做到动静分离,提高了网站和系统性能。

以下记录本地用nginx+tomcat实现的动静分离的主要步骤。

1. tomcat web应用jsp文件

路径:D:\nginx-1.8.0\Tomcat\tomcat-node1\webapps\examples\index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.text.SimpleDateFormat"%>


  
    Tomcat集群测试
  
  
    <%
		out.println("["+request.getLocalAddr()+":" +request.getLocalPort()+"]" + "
session id:" + session.getId()); %>

images:


2. nginx主配置文件

upstream local_tomcat {
	   server localhost:18080;
       server localhost:18081;
	} 
	
    server {
        listen       80;
		server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
		
		# 所有静态请求都由nginx处理,存放目录为html
		location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ {
			root	html;
		}
		
		# 所有动态请求都转发给tomcat处理
		location ~ \.(jsp|do)$ {
			proxy_pass	http://local_tomcat;
		}
		
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

3. 拷贝静态文件

将图片复制到nginx本地目录,这里我们为了方便并且为了目录的一致性,将其源码全部拷贝至nginx节点:

D:\nginx-1.8.0\Tomcat\tomcat-node1\webapps\examples   ==========>   D:\nginx-1.8.0\html\examples 


4. 测试截图

访问URL:http://localhost/examples/index.jsp

Nginx + Tomcat 实现动静分离_第1张图片

刷新后:

Nginx + Tomcat 实现动静分离_第2张图片



参考:

1. http://www.tuicool.com/articles/uA36biz

2. http://dl528888.blog.51cto.com/2382721/804596

3. http://outofmemory.cn/code-snippet/3037/nginx-configuration-file-de-location-explain-in-detail



你可能感兴趣的:(集群)