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;       #過時時間

        }

    }

}

   淺藍色部分是須要設置的內容,依靠匹配網站文件後綴來決定是否爲靜態文件,而後指定本地存放靜態文件的路徑,並設定過時時間便可。

相關文章
相關標籤/搜索