国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  虛擬主機 >  虛擬主機基礎知識 >  Nginx使用教程(七):使用Nginx緩存之proxy cache

Nginx使用教程(七):使用Nginx緩存之proxy cache

2017-03-01 00:18:02 7622

Nginx使用教程(七):使用Nginx緩存之proxy cache

定義緩存目錄



使用您喜歡的文本編輯器打開(kāi)/etc/nginx/nginx.conf,并在http {區域加入:

  1. proxy_cache_path  /var/www/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m;

  2.  

  3. proxy_temp_path /var/www/cache/tmp;

  4.  

  5. real_ip_header X-Forwarded-For;

前2行創(chuàng )建一個(gè)緩存目錄。 真正的X-Forwarded-For頭指示Nginx將原始IP地址轉發(fā)到后端(端口8080),否則所有流量似乎都來(lái)自127.0.0.1。

應用緩存



接下來(lái),我們需要在/etc/nginx/sites-available/website下創(chuàng )建虛擬主機

server {
        listen 80;
        server_name _;
        server_tokens off;
        location / {
                proxy_pass              http://www.tjdsmy.cn:8080/;
                proxy_set_header        Host                    $host;
                proxy_set_header        X-Real-IP               $remote_addr;
                proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;
                proxy_cache  my-cache;
                proxy_cache_valid 3s;
                proxy_no_cache $cookie_PHPSESSID;
                proxy_cache_bypass $cookie_PHPSESSID;
                proxy_cache_key         "$scheme$host$request_uri";
                add_header X-Cache $upstream_cache_status;
        }
}
 
server {
        listen   8080;
        server_name _;
        root /var/www/your_document_root/;
        index index.php index.html index.htm;
        server_tokens off;
        location ~ .php$ {
                try_files $uri /index.php;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;
        }
        location ~ /.ht {
                deny all;
        }
}

然后通過(guò)執行以下操作啟用它:

cd
ln -s /etc/nginx/sites-available/website /etc/nginx/sites-enabled/website
/etc/init.d/nginx restart

第一個(gè)服務(wù)器定義是在端口80上運行的反向緩存代理。
第二個(gè)服務(wù)器定義用于后端(典型的nginx配置,端口8080,而不是80)。

proxy相關(guān)指令介紹



proxy_pass http://www.tjdsmy.cn:8080/將流量轉發(fā)到端口8080,Nginx后端位于該端口
proxy_cache my-cache定義要使用的高速緩存,這里是my-cache,我們之前在nginx.conf中添加的
proxy_cache_valid 3s將緩存時(shí)間設置為3秒。 在確定緩存到期之前的秒數(清除緩存)。 此數字可以根據您網(wǎng)站上的內容的新鮮度而增加或減少。
proxy_no_cache $ cookie_PHPSESSID禁止反向緩存代理緩存具有PHPSESSID Cookie的請求。 否則,您的登錄用戶(hù)頁(yè)面將被緩存并顯示給其他人。 如果您使用的Cookie框架使用Cookie的默認PHPSESSID以外的Cookie名稱(chēng),請務(wù)必替換。
proxy_cache_bypass $ cookie_PHPSESSID指示代理繞過(guò)緩存,并且如果傳入請求包含PHPSESSID Cookie,則將請求轉發(fā)到后端。 否則,你最終會(huì )顯示登錄的用戶(hù),登出的版本(從緩存提供)。
proxy_cache_key “$scheme$host$request_uri”定義用于緩存的鍵。 以下使用$ request_uri,它適合于根據url存儲不同版本的頁(yè)面(不同的GET參數,不同的內容)。
add_header X-Cache $ upstream_cache_status可用于調試,返回HIT,BYPASS或EXPIRED,具體取決于請求是從高速緩存(HIT)提供還是從后端(MISS)提供.EXPIRED表示在高速緩存中找到緩存,但它已過(guò)期,并已轉發(fā)到后端。


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->