Nginx动静分离

Posted

tags:

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

   如果只让nginx做负载均衡和代理服务器,无疑会浪费掉很多Nginx的闲置资源,其实Nginx有很大的静态文件处理功能,那么我们完全可以把后端apache或Tomcat服务器上的静态文件交给Nginx来处理。

   如图,一台Nginx和两台Apache服务器做了负载均衡,我们只需要访问Nginx服务器就能获取到Apache上的网页信息。我们把这个网站的静态文件放在Nginx的web目录中,把动态文件放在Apache的web主目录中。这样,当我们访问这个网站时,静态文件会在Nginx中读取,动态文件,会在Apache中读取。

技术分享


配置文件部分内容如下:

http {

    ……

    upstream app_web {

        server 192.168.1.101 weight=1 max_fails=2 fail_timeout=30s;

        server 192.168.1.102 weight=1 max_fails=2 fail_timeout=30s;    

    }

    server {

    listen 80;

    server_name www.abc.com;

    

    location / {

        root /data1/www/abc;

        index index.php index.html index.htm;

        proxy_pass http://app_web;

        }

    location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {

        root /data1/www/abc; #本地静态文件存放目录

        expires 3d;       #过期时间

        }

    }

}

   浅蓝色部分是需要设置的内容,依靠匹配网站文件后缀来决定是否为静态文件,然后指定本地存放静态文件的路径,并设定过期时间即可。

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

HTTP/NGINX+TOMCAT实现动静分离

Nginx概念总结(负载均衡动静分离)

实验:部署实现nginx在http上的动静分离和负载均衡

详解Nginx主要应用场景/反向代理/负载均衡/动静分离/HTTP服务器

nginx实现动静分离

nginx正则表达式和动静分离