jdk7和tomcat7安装配置参考: 
http://www.jb51.cc/article/p-ptebsqqk-bpn.html 
Nginx1.10.1安装配置参考: 
http://www.jb51.cc/article/p-dlhqxuty-bpn.html
1.新建separate文件夹,在separate新建imgs文件夹,在imgs放入一张图片名为girl.jpg,在separate新建index.jsp,编辑内容
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<HTML>
<head>
<Meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Nginx动静分离测试</title>
</head>
    <body>
        <h1>您正在访问:192.168.3.128:8080</h1>
        <img src="/drp/img/girl.jpg" alt="女孩" />
    </body>
</html> 
1.Nginx+单个tomcat 
 1.1 通过Xftp将文件放到linux的/usr/local/tomcat7/webapps 
 启动tomcat
访问地址 
http://192.168.3.128:8080/separate/ 
1.2 将tomcat和Nginx关联起来,其实就是访问Nginx,然后Nginx再转发给tomcat. 
 这就要修改下Nginx的配置文件.(注意不是Nginx安装目录下的配置文件) 
 [root@localhost ~]# vim /usr/local/Nginx/conf/Nginx.conf 
 在server模块下的location模块添加内容 
 proxy_pass http://192.168.3.128:8080; 
 访问地址 
http://192.168.3.128/separate/ 
 注意,不用加8080端口,此时图片访问不了,解决方法在第三步
2 Nginx+2个tomcat集群 
 1) 首先把tomcat停掉,然后复制一份出来,目录分别是tomcat7,tomcat72 
 [root@localhost ~]# ps -ef | grep tomcat 
 root 2882 1 0 10:44 ? 00:03:12 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/usr/local/tomcat7/endorsed -classpath /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat7 -Dcatalina.home=/usr/local/tomcat7 -Djava.io.tmpdir=/usr/local/tomcat7/temp org.apache.catalina.startup.Bootstrap start start 
 root 8495 7233 0 16:31 pts/0 00:00:00 grep –color=auto tomcat 
 [root@localhost ~]# kill -9 2882 
 [root@localhost ~]# cp -r /usr/local/tomcat7 /usr/local/tomcat72 
 2)修改tomcat72占用的端口 
 [root@localhost ~]# vim /usr/local/tomcat72/conf/server.xml 
 将8080改为8180,8005改为8105,8009改为8109 
 保存退出 
 先按esc,然后按:键盘,在这个输入wq,然后按回车即可保存退出 
 3) 将tomcat72下面的 index.jsp内容192.168.3.128:8080改为192.168.3.128:8180 
 [root@localhost ~]# vim /usr/local/tomcat72/webapps/separate/index.jsp 
修改192.168.3.128:8080改为192.168.3.128:8180 
 保存退出 
 先按esc,然后按:键盘,在这个输入wq,然后按回车即可保存退出 
 4) 修改ngnix的配置文件,用来做指向2个tomcat 
 [root@localhost conf]# vim /usr/local/Nginx/conf/Nginx.conf 
 在server模块添加内容 
 upstream local_tomcat { 
 server 192.168.3.128:8080; 
 server 192.168.3.128:8180; 
 } 
 在server模块下的location模块修改或添加内容 
 proxy_pass http://local_tomcat ; 
 保存退出 
 先按esc,然后按:键盘,在这个输入wq,然后按回车即可保存退出 
 5) 启动2个tomcat 
 [root@localhost ~]# /usr/local/tomcat7/bin/startup.sh 
 [root@localhost ~]# /usr/local/tomcat72/bin/startup.sh 
 分别访问 
http://192.168.3.128:8080/separate/ 
http://192.168.3.128:8081/separate/ 
页面显示对应的tomcat名称. 
 6)重启Nginx 
 [root@localhost ~]# systemctl restart Nginx.service 
 访问http://192.168.3.128/separate/ 
 多次刷新页面,发现 tomcat7和tomcat72 字样轮流显示,OK. 集群成功! 
 7)可以测试停掉tomcat7,或者tomcat72,Nginx还能正常访问,这样就可以部署的时候不影响用户访问了. 
 注意,不用加8080端口,此时图片访问不了,解决方法在第三步
3.Nginx+Tomcat实现动静分离、负载均衡
什么是动静分离 
 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源比如图片,js,css等文件,我们可以在反向代理服务器中进行缓存,这样浏览器在请求一个静态资源时,代理服务器就可以直接处理,而不用将请求转发给后端服务器。用户请求的动态文件比如servlet,jsp则转发给Tomcat,Jboss服务器处理,这就是动静分离。这也是反向代理服务器的一个重要的作用。
本文的动静分离主要是通过Nginx+tomcat来实现,其中Nginx处理图片、html、JS、CSS等静态文件,tomcat处理jsp、servlet等动态请求。
基础知识了解完后,咱们来具体实践一下动静分离的感觉。负载均衡在这篇博客就不在介绍了,但是同样会配置出来,实现动静分离和负载均衡的效果。
对Nginx进行配置 
 通过配置location,对访问的请求进行拦截,①②都需要配置。 
 ①在server模块添加内容 
 upstream local_tomcat { 
 server 192.168.3.128:8080; 
 server 192.168.3.128:8180; 
 } 
 ② 在server模块下的location模块修改或添加内容 
 全部的请求均转发给Tomcat进行处理
location / {
    proxy_next_upstream http_502 http_504 error timeout invalid_header;
    proxy_pass http://local_tomcat;
    # 真实的客户端IP
    proxy_set_header   X-Real-IP        $remote_addr; 
    # 请求头中Host信息
    proxy_set_header   Host             $host; 
    # 代理路由信息,此处取IP有安全隐患
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    # 真实的用户访问协议
    proxy_set_header   X-Forwarded-Proto $scheme;
} 
个别的请求比如:html,js,css等静态资源请求,由Nginx进行处理
#静态文件交给Nginx处理
location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
    root /usr/local/webapps;
    expires 30d;
}
#静态文件交给Nginx处理
location ~ .*\.(js|css)?$ {
    root /usr/local/webapps;
    expires 1h;
} 
root /usr/local/webapps; 这段代码的意思是指定Nginx访问的目录,即静态资源所在的目录。 
 expires 30d; 指定这些资源文件在客户端浏览器的缓存时间。30d指的是30天,1h指的是1小时。
测试Nginx动静分离 
 根据上述配置文件,完成动静分离和负载均衡的配置,然后启动Nginx。 
 访问网址:http://192.168.3.128/separate/
可以看到图片没有加载出来。这是因为静态资源访问请求已经被Nginx拦截,由Nginx进行处理。但是Nginx服务器的 /usr/local/webapps 目录下并没有图片资源,所以图片没有加载出来。index.jsp页面能够显示,说明动态的请求已经转发到了Tomcat,Tomcat对index.jsp进行了解析。 
解决办法 
 在Nginx服务器 /usr/local/webapps 目录下放置静态文件 
 创建/usr/local/webapps/separate/imgs目录 
 [root@localhost ~]# mkdir -p /usr/local/webapps/separate/imgs 
 拷贝文件到/usr/local/webapps/separate/imgs/ 
 [root@localhost imgs]# cp -r /usr/local/tomcat7/webapps/separate/imgs/ /usr/local/webapps/separate/imgs/
刷新浏览器,图片就出来了
小结 
 从上述的实例可以看到已经初步实现了Nginx动静分离的功能,在配置动静分离后,用户请求你定义的静态资源,默认会去Nginx的发布目录请求,而不会到后端请求,这样可以提高网站响应速度,减轻真实Web服务器的负载压力。
不过在开发环境下,为了便于开发,咱们的静态资源和代码还是放在一起的,等开发测试完成,才会将完成的完整程序部署到生成环境上,然而程序代码和静态资源是分别放置到不同的服务器上的。