(一)简述

    Nginx是一种轻量级,高性能,多进程的Web服务器,非常适合作为静态资源的服务器使用,而动态的访问操作可以使用稳定的Apache、Tomcat及IIS等来实现,这里就以Nginx作为代理服务器的同时,也使用其作为静态资源的服务器,而动态的访问服务器就以Tomcat为例说明。

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第1张图片

(二)环境简介

服务器名称 IP 备注
Nginx服务器 192.168.180.4
Tomcat服务器 192.168.180.23
client 192.168.181.231 客户端访问


(三)具体步骤:

(1)tomcat服务器(192.168.180.23)的相关配置配置

1.1 tomcat的安装及相关环境变量的配置可以参考前面文档,具体本次试验省略了

1.2 ,启动tomcat测试界面,打开会出现测试页面。

[root@localhost local]# /usr/local/apache-tomcat-7.0.63/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.63
Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.63
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.63/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_131/
Using CLASSPATH:       /usr/local/apache-tomcat-7.0.63/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.63/bin/tomcat-juli.jar
Tomcat started.

1.3新建测试页面。在/usr/local/apache-tomcat-7.0.63/webapps下新建html目录和index.html文件

[root@localhost local]# mkdir /usr/local/apache-tomcat-7.0.63/webapps/html
[root@localhost local]# vim /usr/local/apache-tomcat-7.0.63/webapps/html/index.html
this is tomcat index.html
and this ip:192.168.180.23
port:8080

1.4修改server.xml文件的测试路径的路径。在 ****标签之间添加上: 

path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;
docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个html目录,让该目录作为我的默认目录。
debug和reloadable一般都分别设置成0和true。

[root@localhost local]# vim /usr/local/apache-tomcat-7.0.63/conf/server.xml 
                                                                                                                                                   
                                                                                                                                                                                                
                                                                                                                                              
                                                                                                                                                                                             
                                                                                                                                  
                                                                                                                         
                                                                                                                                            
                                                                                                                                                                                                
      

1.5修改web.xml文件,查看html文件的内容。在****段之间添加上:html。完成之后重启即可。

[root@localhost local]# vim /usr/local/apache-tomcat-7.0.63/conf/web.xml 
 
        html
        index.html
        index.htm
        index.jsp
    

1.6新建相关的测试页面,如test.jsp test.do

[root@localhost html]# pwd
/usr/local/apache-tomcat-7.0.63/webapps/html
[root@localhost html]# cat test.jsp 
this is tomcat of test.jsp
[root@localhost html]# cat test.do 
welcome to tomcat ,this is test-do.do

通过浏览器访问的结果如下:

a.访问默认页面:

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第2张图片b.访问test.jsp页面

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第3张图片

c.访问test.do页面

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第4张图片


(2)Nginx服务器的相关配置

[root@Monitor server]# vim /usr/local/nginx/conf/server/server.conf
server {
         listen    80;
         server_name  xn2.lqb.com;
         root /html/xn2;
    #    rewrite ^/(.*)$ https:xn3.lqb.com/$1 permanent;
     location / {
       index index.html;
    #    proxy_cache mycache;
    #    proxy_cache_valid 200 3h;
    #    proxy_cache_valid 301 302 10m;
    #    proxy_cache_valid all 1m;
    #    proxy_cache_use_stale error timeout http_500 http_502 http_503;
    #    proxy_pass http://192.168.180.9;
    #    proxy_set_header Host    $host;
    #    proxy_set_header X-Real-IP  $remote_addr;
                     }
       location  /ie/
           {
             index index.html;
             }
       location ~ .*\.(gif|jpg|jpeg|png|swf)$  {      #所有的静态文件以gif、jpg等结尾的都在本地打开,目录为/html/xn2下,保存时间为30天
                     expires 30d;
                          }
       location ~ (\.jsp)|(\.do)$ {                 ##########所有的以jsp .do的动态请求都交给后边的tomcat代理服务器处理。
                proxy_pass http://192.168.180.23:8080;
                proxy_redirect off;
                proxy_set_header HOST $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                       }
                    }
[root@Monitor server]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@Monitor server]# /usr/local/nginx/sbin/nginx -s reload

访问结果如下:

a.访问默认页面,会直接访问nginx所默认的页面,而不会调到后台tomcat服务器页面

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第5张图片

b.访问.do页面。其实访问的就是tomcat后台test.do页面

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第6张图片

c.访问jsp页面。其实访问的就是tomcat后台test.jsp页面

Nginx自学手册(六)Nginx+Tomcat实现动静分离_第7张图片

至此nginx+tomcat的动静分离配置完成。