nginx动静分离配置_nginx动静分离实战
通過負載均衡中間件,將動態請求和靜態請求進行分離。這樣做的好處是,加速訪問,動態與靜態資源互不影響,即使動態服務不可用,靜態資源也能照常訪問。
動靜分離示意圖
準備
我將用三個端口(80,8001,8002)代表負載均衡,靜態資源,動態資源。當然你也可以使用其他服務器來提供靜態和動態服務。
我是在centos7上測試,默認開啟了firewall防火墻,所以要將兩個端口打開。
靜態資源server配置
將所有圖片相關的請求轉至8001端口,并將目錄設為"/mnt/static/image“。
我在上述目錄中從”http://nginx.org/nginx.png“下載了這張圖片做測試。
# wget http://nginx.org/nginx.png當請求"http://localhost:8001/nginx.png"時,能看到圖片則配置成功。
動態資源server配置
以php5.4為例,下載并安裝php-fpm來配置動態網頁解析。在centos7中可以直接用yum下載安裝。
# yum install php# yum instal php-fpm# systemctl start php-fpmnginx配置如下(默認nginx會有如下配置,只需將前面井號刪除即可,并修改標紅處):
在目錄html新建一個test.php文件
<?phpecho "dynamic Web page";請求"http://localhost:8002"時,出現如下頁面,則配置成功。
負載配置
主要使用了”upstream“和"proxy_pass"這兩個指令。
如果配置完成重啟nginx報"proxy_params not found"的錯誤 ,可以在同目錄下新建此文件,內容如下:
proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;當我們請求”http://localhost/nginx.png“和”http://localhost/test.php“能出現與帶端口號訪問一致的結果時,則表明配置成功。
最終測試
我在目錄”/mnt/www“中新建了一個index.html,內容如下:
當訪問”http://localhost“時,會出現如下結果,動靜態頁面均能正確訪問。
當我將8002端口所對應的server關閉或其他影響不能正常訪問動態php時,下面的動態頁不顯示,不影響靜態資源的加載。這也是動靜分離的好處之一,可以提高訪問性能和可維護性,以及提高用戶體驗度。
總結
以上是生活随笔為你收集整理的nginx动静分离配置_nginx动静分离实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nlp mrc的损失是什么_你对NLP的
- 下一篇: python word 表格 框线_py