5.3 Nginx 动静分离

Posted likevin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.3 Nginx 动静分离相关的知识,希望对你有一定的参考价值。

技术分享图片

 Server 脚本片段

server {
        listen       80;
        server_name  ccserver1;

        #charset koi8-r;

        access_log  logs/host.access.log  main;

        index index.html index.htm index.jsp;

        root /usr/tomcat-8.0.0-RC5-1/webapps/ROOT/;

        location ~* .*.(jpg|jpeg|gif|png|swf|ico)$ {

                if (-f $request_filename){
                        break;
                }

        }

        location ~* .*.(html|htm|js|css)$ {
                # express id;
        }

        location / {
                        proxy_pass      http://cctest1.com;
         #   root   html;
         #   index  index.html index.htm;
        }

备注:脚本片段,第一个,第二个lcation 是没有配置proxy_pass 代理地址的,这个时候回默认到 root的下面去找静态资源

root /usr/tomcat-8.0.0-RC5-1/webapps/ROOT/;

场景测试一

注释:第一个,第二个location,查看tomcat的日志信息

技术分享图片

场景测试二

取消注释:第一个,第二个location,查看tomcat的日志信息

技术分享图片

结果

实现了动静分离

搭建我们自己电商平台的动静分离

访问:http://172.20.10.5/architecture1web

结果(发现静态资源图片无法找到)

技术分享图片

因此需要修改 nginx.conf配置文件里面的root 路径

修改前

root /usr/tomcat-8.0.0-RC5-1/webapps/ROOT/;

修改后

root /usr/tomcat-8.0.0-RC5-1/webapps

仍然找不到

 检查图片地址(http://172.20.10.5/architecture1web/static/images/logo.jpg),但是172.20.10.5是nginx代理tomcat的地址,无法找到静态资源

进入linux操作系统目录查找是否有这个地址,发现没有静态资源

技术分享图片

为什么tomcat直接访问路径“http://172.20.10.5:8080/architecture1web/static/images/logo.jpg”的时候,可以直接访问? spring mvc进行了一次路径的映射转换,因此才可以正常访问

现在nginx直接进行静态资源的访问

拷贝wen-inf下面的static的目录到architecture1web目录

[[email protected] WEB-INF]# cp -r static/ /usr/tomcat-8.0.0-RC5-1/webapps/architecture1web

检查静态资源

技术分享图片

刷新页面

技术分享图片

实现动静分离

电商平台可以实现动静分离,但是在访问tomcat的时候,出现静态资源访问的异常(http://172.20.10.5/)

技术分享图片

 

 

修改nginx.conf的配置文件

 root /usr/tomcat-8.0.0-RC5-1/webapps/ROOT;

        location ~* ^/architecture1web/.*.(jpg|jpeg|gif|png|swf|ico)${
                root /usr/tomcat-8.0.0-RC5-1/webapps;
        }
        location ~* ^/architecture1web/.*.(html|htm|js|css)${
                root /usr/tomcat-8.0.0-RC5-1/webapps;
        }
[[email protected] sbin]# ./nginx -s reload

检查tomcat,一切正常

技术分享图片

 

 检查电商平台,一切正常

技术分享图片

 

以上是关于5.3 Nginx 动静分离的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 动静分离概述

Nginx 动静分离概述

Nginx---动静分离

15.Nginx动静分离Rewrite

Nginx系列:Nginx + keepalived 实现高可用 + 防盗链 + 动静分离

Nginx系列:Nginx + keepalived 实现高可用 + 防盗链 + 动静分离