nginx 1.0.0配ngx_cache_purge實(shí)現(xiàn)高效的反向代理
下載2011-05-03更新的最新版1.3
wget http://labs.frickle.com/files/ngx_cache_purge-1.3.tar.gz
tar zxf ngx_cache_purge-1.3.tar.gz
切換到nginx目錄
cd nginx-1.0.0
./configure --user=www --group=www --add-module=../ngx_cache_purge-1.3 --prefix=/usr/local/webserver/nginx --with-http_stub_status_module
make;make install
安裝完成!
安裝完后在/usr/local/webserver/nginx下多了四個(gè)目錄,分別是fastcgi_temp,proxy_temp,scgi_temp和uwsgi_temp。
proxy_temp這個(gè)目錄用于存儲(chǔ)臨時(shí)文件,需要看下是否www有權(quán)限寫(xiě)入,如果不可寫(xiě),無(wú)法在這個(gè)目錄生成文件的話,會(huì)導(dǎo)致反向代理失敗。也可以在nginx的配置里設(shè)置proxy_temp_path指定存儲(chǔ)臨時(shí)文件的目錄。
nginx配置文件參考:
http {
#proxy_temp_path /www/proxy_temp;
#設(shè)置Web緩存區(qū)名稱(chēng)為cache_one,內(nèi)存緩存空間大小為100MB,1天沒(méi)有被訪問(wèn)的內(nèi)容自動(dòng)清除,硬盤(pán)緩存空間大小為10GB。
proxy_cache_path /www/proxy_cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
server {
listen 80;
server_name s.jb51.net;
location / {
proxy_cache cache_one;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://chabaoo.cn;
expires 1d;
}
location ~ /purge(/.*) {
allow all;
allow 127.0.0.1;
# deny all;
proxy_cache_purge cache_one $1$is_args$args;
}
access_log /www/logs/s.log access;
}
......
}
這樣訪問(wèn)s.jb51.net/images/logo.gif,反向代理就會(huì)去請(qǐng)求http://chabaoo.cn/images/logo.gif,保存在內(nèi)存中,然后輸出。
如果logo.gif這個(gè)文件發(fā)生了變化,則需要刷新緩存,訪問(wèn)s.jb51.net/purge/images/logo.gif,就會(huì)提示:Successful purge
Key : /images/logo.gif
Path: /www/proxy_cache/39aaa70038997e0e5e77beaa4392848d
如果這個(gè)文件沒(méi)有被緩存過(guò),則提示:404 Not Found
如果是已經(jīng)安裝過(guò)nginx了,請(qǐng)一定注意,使用nginx -s reload重啟是無(wú)效的!一定要-s stop之后再啟動(dòng),這樣才會(huì)使用新版本的nginx!
我今天就沒(méi)注意這點(diǎn),在這上面化了N個(gè)小時(shí)!
/usr/local/webserver/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.0
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-46)
nginx: configure arguments: --user=www --group=www --add-module=../ngx_cache_purge-1.3 --prefix=/usr/local/webserver/nginx --with-http_stub_status_module
一直以為是裝成功了,但反復(fù)測(cè)試均清除失敗,很郁悶!明明開(kāi)啟了訪問(wèn)日志,日志也沒(méi)記錄任何信息!
晚上繼續(xù)測(cè)試時(shí),在nginx_error.log里看到有如下的錯(cuò)誤提示:
2011/05/11 21:23:40 [emerg] 20976#0: unknown directive "proxy_cache_purge" in /usr/local/webserver/nginx/conf/nginx.conf:481
才確認(rèn)這個(gè)模塊跟本沒(méi)裝上,當(dāng)然不能用了。后來(lái)在一個(gè)論壇看到一個(gè)人的回復(fù)說(shuō)要restart,但reload是無(wú)效的。才想到前段搞nginx升級(jí)時(shí)就發(fā)現(xiàn),如果不用make upgrade升級(jí),重新編譯升級(jí)的話,必須停掉,再啟動(dòng)才會(huì)使用新的版本!
相關(guān)文章
Nginx設(shè)置Referer來(lái)防止盜圖的實(shí)現(xiàn)方法
這篇文章主要介紹了Nginx設(shè)置Referer來(lái)防止盜圖的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
Nginx配置參數(shù)中文說(shuō)明詳解(負(fù)載均衡與反向代理)
最近在看高性能Linux服務(wù)器構(gòu)建實(shí)戰(zhàn)的Nginx章節(jié),對(duì)其nginx介紹的非常詳細(xì),現(xiàn)把經(jīng)常用到的Nginx配置參數(shù)中文說(shuō)明摘錄和nginx做負(fù)載均衡的本人真實(shí)演示實(shí)例抄錄下來(lái)以便以后查看2020-03-03
nginx部署vue項(xiàng)目,給訪問(wèn)路徑加前綴的實(shí)現(xiàn)
這篇文章主要介紹了nginx部署vue項(xiàng)目,給訪問(wèn)路徑加前綴的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Nginx配置本地圖片服務(wù)器的實(shí)現(xiàn)
本文主要介紹了Nginx配置本地圖片服務(wù)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
通過(guò)Nginx代理轉(zhuǎn)發(fā)配置實(shí)現(xiàn)跨域的方法(API代理轉(zhuǎn)發(fā))
這篇文章主要給大家介紹了關(guān)于如何通過(guò)Nginx代理轉(zhuǎn)發(fā)配置實(shí)現(xiàn)跨域(API代理轉(zhuǎn)發(fā))的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
nginx編譯安裝后對(duì)nginx進(jìn)行平滑升級(jí)的方法
nginx編譯安裝后用了一段時(shí)間后發(fā)現(xiàn)當(dāng)前版本有漏洞或需要新的功能時(shí)就需要對(duì)當(dāng)前nginx版本進(jìn)行版本升級(jí),所以這時(shí)就需到對(duì)nginx的平滑升級(jí),如何進(jìn)行平滑升級(jí),下面就一起來(lái)了解一下2018-12-12
ubuntu上配置Nginx+PHP5 FastCGI服務(wù)器配置
ubuntu上配置Nginx+PHP5 FastCGI服務(wù)器配置方法, 需要的朋友可以參考下。2010-06-06

