国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx(2)-創(chuàng)建具有緩存功能的反向代理服務(wù)器

BakerJ / 1431人閱讀

摘要:承接上一篇文章,在本文中,將上文中的靜態(tài)資源服務(wù)器作為上游服務(wù)器,另外搭建一臺服務(wù)器,作為反向代理服務(wù)器。

承接上一篇文章,在本文中,將上文中的靜態(tài)資源服務(wù)器作為上游服務(wù)器,另外搭建一臺 Nginx 服務(wù)器,作為反向代理服務(wù)器。

配置反向代理服務(wù)器

上游服務(wù)器處理的業(yè)務(wù)邏輯相對復(fù)雜,而且強(qiáng)調(diào)開發(fā)效率,所以它的性能并不優(yōu)秀,使用 nginx 作為反向代理后,可以將請求將根據(jù)負(fù)載均衡算法,分散到多臺上游(后端)服務(wù)器,這樣就實(shí)現(xiàn)了架構(gòu)上的水平擴(kuò)展,讓用戶無感知的情況下,添加更多的服務(wù)器,來提升性能,即使后端的服務(wù)器出現(xiàn)問題,nginx反向代理服務(wù)器會轉(zhuǎn)交給正常工作的服務(wù)器。

一般情況下,上游服務(wù)器不對外提供訪問,修改的方法是,將 server 配置塊中的 listen 配置項修改為內(nèi)部網(wǎng)絡(luò)地址,修改配置文件后,重啟nginx 進(jìn)程,目的是防止之前打開的端口仍然可以使用。

Nginx實(shí)現(xiàn)反向代理的功能由 ngx_http_proxy_module 實(shí)現(xiàn),下面是配置示例:

location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host; #當(dāng)后端還有虛擬主機(jī)時,應(yīng)該返回正確的網(wǎng)頁,而不是用戶請求不用的 host 都返回相同的內(nèi)容
    proxy_set_header X-Real-IP $remote_addr;
}

當(dāng)用戶請求"/"的所有 URL請求,都轉(zhuǎn)交配置文件中proxy_pass指定的后端服務(wù)器,同時還設(shè)置了向后端生成請求報文時新的 header,如定義Host 將用戶請求的 host 定義在 header 中,定義 X-Real-IP客戶端的 IP 地址。

...
upstream webdlib{ #定義上游服務(wù)器群組,并自定義名稱為 webdlib
       server 172.16.240.140:8080; #上游服務(wù)器群組的服務(wù)器列表,多臺服務(wù)器可以選擇負(fù)載均衡算法
    }
server {
        listen       80 
        server_name  _;
        ... ... 
        location / {
            proxy_pass http://172.16.240.140:8080; #設(shè)置上游服務(wù)器地址
            proxy_set_header Host $host; #添加請求首部 host 名稱,由上游服務(wù)器處理 host 請求
            proxy_set_header X-Real-IP $remote_addr; #添加客戶端真實(shí) IP 地址
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        }

配置緩存服務(wù)器

通常只有動態(tài)請求,也就是不同的用戶訪問同一個 url內(nèi)容不相同時,請求才會交由上游處理,在頁面中,一部分內(nèi)容在一段時間不會發(fā)生變化,為了減輕上游服務(wù)器的壓力,將上游服務(wù)器返回的內(nèi)容,緩存在反向代理服務(wù)器中保存一段時間,如幾個小時或一天,在緩存時間內(nèi),即使上游服務(wù)器內(nèi)容發(fā)生變化,也會被忽視,將緩存的內(nèi)容向?yàn)g覽器發(fā)送。使用緩存會提供站點(diǎn)的響應(yīng)性能。

首先要在 http 配置塊下,使用proxy_cache_path定義緩存文件的路徑、文件命名方式、命名共享內(nèi)存及共享內(nèi)存的空間大小等信息,如proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

緩存的使用方法則是,在需要進(jìn)行緩存url 路徑下,添加 proxy_cache、proxy_cache_key、proxy_cache_valid。

proxy_cache my_cache:指定緩存共享內(nèi)存的命名

proxy_cahce_key $host$uri$is_args$args:在共享內(nèi)存中設(shè)置的 key 的值,這里將 host,uri 等作為 key 值

Proxy_cache_valid 200 304 302 1d :指定的響應(yīng)不返回緩存

下面是關(guān)于緩存的配置文件節(jié)選:

...
http {
    ...
    proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
    ...
    server {
        ...
        location / {
            proxy_pass http://172.16.240.140:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

            proxy_cache my_cache;

            proxy_cache_key $host$uri$is_args$args;
            proxy_cache_valid 200 304 302 1d;
        }
    }
}
總結(jié)

首先配置反向代理服務(wù)器,需要使用 proxy_pass設(shè)置上游服務(wù)地址、使用 proxy_set_header設(shè)置向后端發(fā)送請求的 header諸如客戶端的 IP 地址、請求的 host。

配置緩存服務(wù)器,首先要設(shè)置緩存的名稱,內(nèi)存空間名稱等信息,然后在需要進(jìn)行緩存的 URL 路徑下,啟用緩存,進(jìn)行緩存的設(shè)置諸如緩存的名稱、緩存的 key 等。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/62072.html

相關(guān)文章

  • Nginx(2)-創(chuàng)建具有緩存功能反向代理務(wù)器

    摘要:承接上一篇文章,在本文中,將上文中的靜態(tài)資源服務(wù)器作為上游服務(wù)器,另外搭建一臺服務(wù)器,作為反向代理服務(wù)器。 承接上一篇文章,在本文中,將上文中的靜態(tài)資源服務(wù)器作為上游服務(wù)器,另外搭建一臺 Nginx 服務(wù)器,作為反向代理服務(wù)器。 配置反向代理服務(wù)器 上游服務(wù)器處理的業(yè)務(wù)邏輯相對復(fù)雜,而且強(qiáng)調(diào)開發(fā)效率,所以它的性能并不優(yōu)秀,使用 nginx 作為反向代理后,可以將請求將根據(jù)負(fù)載均衡算法,...

    LoftySoul 評論0 收藏0
  • 【譯】Ngnix實(shí)現(xiàn)一個緩存和縮略處理反向代理務(wù)器

    摘要:我覺得結(jié)合的反向代理,緩存和圖像過濾處理三大模塊來為我托管在上的圖片來創(chuàng)建一個縮略圖服務(wù)器會很優(yōu)雅。后者將作為的反向代理,產(chǎn)生并提供調(diào)整大小后的圖像。它返回有效的響應(yīng),緩存服務(wù)器將緩存該響應(yīng)天,其它任何東西都只緩存秒。 一兩個月前,我決定從我的站點(diǎn)中移除Varnish ,并用Nginx內(nèi)置的緩存系統(tǒng)替代它。我本來已經(jīng)在我的python站點(diǎn)上用了nginx來反向代理,所以擺脫Varnis...

    bergwhite 評論0 收藏0
  • 【譯】Ngnix實(shí)現(xiàn)一個緩存和縮略處理反向代理務(wù)器

    摘要:我覺得結(jié)合的反向代理,緩存和圖像過濾處理三大模塊來為我托管在上的圖片來創(chuàng)建一個縮略圖服務(wù)器會很優(yōu)雅。后者將作為的反向代理,產(chǎn)生并提供調(diào)整大小后的圖像。它返回有效的響應(yīng),緩存服務(wù)器將緩存該響應(yīng)天,其它任何東西都只緩存秒。 一兩個月前,我決定從我的站點(diǎn)中移除Varnish ,并用Nginx內(nèi)置的緩存系統(tǒng)替代它。我本來已經(jīng)在我的python站點(diǎn)上用了nginx來反向代理,所以擺脫Varnis...

    big_cat 評論0 收藏0

發(fā)表評論

0條評論

BakerJ

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<