Nginx進階之快取服務和動靜分離
進階階段回顧:
Nginx的快取服務
快取型別模型:
Nginx作為代理快取的配置語法
proxy_cache
快取的路徑
systax: proxy_cache_path [快取存放的目錄] levels=[快取存放的層級, 一般設定為1:2] keys_zone=[快取的名稱, 給開關配置的呼叫]:[開闢的空間大小(1m可以存放8000個key-value), 如: 10m] max_size=[最大允許快取, 如:10g] inactive=[不活躍的快取多長時間後被清除, 如:60m(60分鐘後)] use_temp_path=[是否儲存臨時檔案on|off, 一般設定為off(關閉)];
default: 無配置
context: http域
快取的開關
systax: proxy_cache zone | off;
default: proxy_cache off;
context: http域/server域/location域
快取過期的週期
systax: proxy_cache_valid [返回的狀態碼] [時間週期];
default: 無配置
context: http域/server域/location域
快取的維度
systax: proxy_cache_key string;
default: proxy_cache_key $schema$http_host$request_uri;
context: http域/server域/location域
進入134伺服器配置.conf檔案:
測試的結果表明快取起了作用, 如果不設定快取, 預設的訪問是輪詢, 而設定快取之後, 訪問結果一直是同一個頁面.
設定部分頁面不快取
systax: proxy_no_cache [指定的不快取的內容, 如某些變數: $cookie_nocache];
default: 無配置
context: http域/server域/location域
進入配置檔案:
大檔案分片請求
systax: slice [分片的大小];
default: slice 0;
context: http域/server域/location域
優勢: 每個子請求收到的資料都會形成一個檔案. 如果一個請求斷了, 其他請求不會收到影響, 不需要重頭再開始請求.
缺點: 當檔案很大或者slice設定的值很小的時候, 會導致檔案描述符耗盡的情況發生, 佔用資源.
Nginx的動靜分離
模型:
首先, 需要配置一臺Tomcat伺服器(直接解壓Tomcat的tar包即可完成安裝)和一臺192.168.19.135的Nginx伺服器.
Tomcat不需要其他的配置, 預設使用8080埠, 進入bin目錄, 啟動: sh catalina.sh start
進入nginx的配置檔案:
測試檔案test_mysite.html的路徑: /opt/code 內容:
圖片nginx.jpg路徑: /opt/code/static_resource/img
結果: