Nginx+Apache動靜分離

來源:互聯網
上載者:User

標籤:strong   搜尋   image   php-fpm   代理   oca   alt   str   目錄   

  Nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術。

  針對PHP的動靜分離:靜態頁面交給Nginx處理,動態網頁面交給PHP-FPM模組或Apache處理。

  在Nginx的配置中,是通過location配置段配合正則匹配實現靜態與動態網頁面的不同處理方式

一、Nginx正則匹配

常用的正則匹配規則

^~ : 標識符後面跟一個字串。Nginx將在這個字串匹配後停止進行Regex的匹配,如 location  ^~ /images/,它在匹配了/images/這個字串後就停止搜尋其它正則的location

= : 標識精確尋找地址,如 location = / ,只會匹配uri為/的請求

~ : 區分大小寫匹配

~* : 不區分大小寫匹配

!~ : 對區分大小寫匹配取非

!~* : 對不區分大小寫匹配取非

經常會用到的Regex有

*   ?   +    .   ()     |     ^    $

特殊字元說明{n} : 重複n次

{n,} :  重複n次或更多次

{n,m} : 重複n到m次

*? : 重複任意次,但儘可能少重複

+? : 重複1次或更多次,但儘可能少重複

?? : 重複0次或1次,但儘可能少重複

{n,m}? : 重複n到m次,但儘可能少重複

{n,}? : 重複n次以上,但儘可能少重複

 二、配置實現Nginx動靜分離

1、需求分析:本案例根據企業需要,將配置Nginx實現動靜分離,對php頁面的請求轉寄給LAMP處理,而靜態頁面交給Nginx,以實現動靜分離。客戶請求待用資料給Nginx,Nginx直接應答用戶端,當請求動態資料到Nginx時,Nginx讓用戶端去找LAMP,通多代理的方式,LAMP就和用戶端串連了。

2、配置步驟:分別配置動態分離和靜態分離

(1)架設並調試後端LAMP架構,指定網域名稱為www.bt.com,IP地址為192.168.10.23,建立動態網頁面test.php。

(2)配置Nginx(192.168.10.22)處理動態網頁面請求,並把網域名稱改為www.test.com 在server{};段中加入以下代碼,檢測文法後,重啟Nginx

  location ~ \.php$ {                                        #匹配以.php為結尾的動態網頁  proxy_pass  http://LAMP的IP地址(192.168.10.23) : 80;      #proxy_xy 意思是代理交給誰  }

(3)用戶端輸入http://192.168.10.22/test.php 成功後動態分離就實現了,接下來再配置靜態分離

(4)配置Nginx處理靜態頁面請求,在server{};中加入以下代碼,檢測文法後,重啟Nginx

location ~ .*\.(gif|jpg|jpeg|bmp|swf)$  {                #這段代碼意思是任意網址以這5種格式為結尾就到Nginx根目錄下的html檔案夾尋找資源  root   html;
  expires 1d; #緩衝一天  }

(5)在nginx的html目錄中,放入圖片aa.jpg,然後在apache的動態測試頁test.php中添加

<html><body><img src="http://192.168.10.22/aa.jpg"></body></html>

(6)用戶端輸入http://192.168.10.22/test.php測試,由於test.php是動態網頁面,因此用戶端會找到LAMP架構中的Apache,然後調取圖片aa.jpg是待用資料,所以從Nginx提取,最後反饋給用戶端。

 

Nginx+Apache動靜分離

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.