Linux中ngixn配置②

來源:互聯網
上載者:User

標籤:圖片   jpg   stream   操作   自動   serve   一個   dfs   正則   

6.15 if
文法:if (condition) {…}
應用情境:
server段
location段
常見的condition
變數名(變數值為空白串,或者以“0”開始,則為false,其他的均為true)
以變數為運算元構成的比較運算式(可使用=,!=類似的比較操作符進行測試)

Regex的模式比對操作
~:區分大小寫模式比對檢查
~:不區分大小寫模式比對檢查
!~和!~
:對上面兩種測試取反
測試指定路徑為檔案的可能性(-f,!-f)
測試指定路徑為目錄的可能性(-d,!-d)
測試檔案的存在性(-e,!-e)
檢查檔案是否有執行許可權(-x,!-x)

6.15.1基於瀏覽器實現分離案例:

//實現Firefox瀏覽器訪問
if ($http_user_agent ~ Firefox) {
rewrite ^(.*)$ /firefox/$1 break;
}

//實現IE瀏覽器訪問
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}

//實現Google瀏覽器訪問
if ($http_user_agent ~ Chrome) {
rewrite ^(.*)$ /chrome/$1 break;
}

注意:以下本人實現用Google瀏覽器訪問的,在html裡要建立Chrome目錄,把imgs移動到Chrome目錄下。

6.15.2 防盜鏈案例

location ~* \.(jpg|gif|jpeg|png)$ {valid_referer none clocked www.idfsoft.com;     if ($invalid_referer) {     rewrite ^/ http://www.idfsoft.com/403.html;       } }

叢集:就是多台伺服器做同樣一件事

6.16 反向 Proxy與負載平衡
nginx通常被用作後端伺服器的反向 Proxy,這樣就可以很方便的實現動靜分離以及負載平衡,從而大大提高伺服器的處理能力。
nginx實現動靜分離,其實就是在反向 Proxy的時候,如果是靜態資源,就直接從nginx發布的路徑去讀取,而不需要從後台伺服器擷取了。
但是要注意,這種情況下需要保證後端跟前端的程式保持一致,可以使用Rsync做服務自動同步或者使用NFS,MFS分布式共用儲存。
Http Proxy 模組,功能很多,最常用的是 proxy_pass 和proxy_cache
如果要使用proxy_cache,需要整合第三方的ngx_cache_purge模組,用來清除指定的URL緩衝。這個整合需要在安裝nginx的時候去做,如: ./configure --add-module=../ngx_cache_purge-1.0 ......
nginx通過upstream模組來實現簡單的負載平衡,upstream需要定義在http段內在
在upstream段內,定義一個伺服器列表,預設的方式是輪詢,如果是確定同一個訪問者發出的請求總是由同一個後端伺服器來處理,可以設定ip_hash,如:

upstream web {#ip_hash; #ip_hash 是只能固定一個訪問,不能重新整理訪問server 192.168.209.13 weight=5;server 192.168.209.14 weight=5;}


注意:這個方法本質還是輪詢,而且由於用戶端的ip可能是不斷變化的,比如動態ip,代理,×××等,因此ip_hash並不能完全保證同一個用戶端總是由同一個伺服器來處理。
定義好upstream後,需要在server段內添加如下內容:

server {     location / {         proxy_pass http://web;   }}

訪問效果:

Linux中ngixn配置②

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.