Nginx动静分离

   若是只让Nginx作负载均衡和代理服务器,无疑会浪费掉不少Nginx的闲置资源,其实Nginx有很大的静态文件处理功能,那么咱们彻底能够把后端apache或Tomcat服务器上的静态文件交给Nginx来处理。php

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

wKioL1dFRyOzHeOxAAAiyr3h0Fk168.png


配置文件部份内容以下:html

http {web

    ……
apache

    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;    app

    }负载均衡

    server {ide

    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;       #过时时间

        }

    }

}

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

相关文章
相关标签/搜索