nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術。動靜分離技術其實是採用**的方式,在server{}段中加入帶正則匹配的location來指定匹配項
針對php的動靜分離:靜態頁面交給nginx處理,動態頁面交給php-fpm模組或apache處理。
在nginx的配置中,是通過location配置段配合正則匹配實現靜態與動態頁面的不同處理方式
實現動靜分離的方式有三種:
常用的方案:在公網和 內網都提供靜態頁面處理的伺服器
常用的正則匹配規則
= : 標識精確查詢位址,如 location = / ,只會匹配uri為/的請求
~ : 區分大小寫的匹配
~* : 不區分大小寫的匹配
!~ : 對區分大小寫的匹配取非
!~* : 對不區分大小寫的匹配取非
經常會用到的正規表示式有
* ? + . () | ^ $
特殊字元說明
: 重複n次
: 重複n次或更多次
: 重複n到m次
*? : 重複任意次,但盡可能少重複
+? : 重複1次或更多次,但盡可能少重複
?? : 重複0次或1次,但盡可能少重複
? : 重複n到m次,但盡可能少重複
? : 重複n次以上,但盡可能少重複
說明:本案例(1)使用nginx排程伺服器做靜態資料處理(2)使用內網中獨立的nginx伺服器處理靜態資料
(1)搭建lamp主機
參考部落格:
(2)配置nginx排程伺服器
搭建nginx服務:參考部落格:
在server{};段中加入以下**
location ~\.php$檢查配置檔案是否正確並啟動
nginx -t將靜態資料檔案拷貝到nginx服務的**根目錄下nginx
location /這裡將資料預設存放在 nginx/html/ 下
(3)在lamp伺服器上建立乙個 test.php測試檔案
<?phptest.phpecho
"welcome to my site
".""
;echo
"";?>
使用客戶端訪問nginx排程伺服器的ip位址,nginx排程伺服器會將php的請求轉交給lamp伺服器處理,而靜態資料(這裡是一張)會從nginx排程伺服器中去取
2.使用內網中獨立的nginx的伺服器處理靜態資料
在server{};段中加入以下**
將靜態資料檔案拷貝到nginx服務的**根目錄下,檢查配置檔案,啟動服務,使用客戶機訪問驗證
nginx動靜分離 apache
nginx動靜分離 apache nginx處理靜態頁面 jpg apache處理動態頁面 php 需求分析 對php頁面的請求傳送給lamp處理,對靜態頁面的請求傳送給nginx,以實現動靜分離。當客戶請求傳送靜態資料給nginx,nginx直接應答客戶端,當請求動態 資料時,nginx讓客戶端請...
Linux Apache與Nginx動靜分離
1.nginx的靜態處理能力比較強,但是動態處理能力不足,因此在企業中常採用動靜分離技術 2.在lnmp架構中,靜態頁面交給nginx處理,動態頁面交給php fpm模組處理。在動靜分離技術中動態頁面交給apache處理 3.nginx不僅能作為web伺服器,還具有方向 負載均衡和快取的功能 4.動...
Nginx使用upstream實現動靜分離
一 為什麼要進行動靜分離 分離資源,減少不必要到的請求消耗,減少請求延時。注 我這裡,是nginx處理靜態資源,apache處理動態資源。場景分析 1 未分離之前的場景步驟 1 客戶端請求url到中介軟體 比如nginx,apache 2 中介軟體根據url請求相應目錄,程式框架 3 程式框架執行程...