Apache與Nginx動靜分離

2022-10-11 06:12:09 字數 1606 閱讀 6217

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測試檔案

<?php 

echo

"welcome to my site

".""

;echo

"";?>

test.php

使用客戶端訪問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 程式框架執行程...