欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解用Nginx搭建CDN服務(wù)器方法(圖文)

 更新時(shí)間:2020年06月29日 09:41:49   作者:俊偉  
這篇文章主要介紹了詳解用Nginx搭建CDN服務(wù)器方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

利用Nginx的proxy_cache搭建緩存服務(wù)器一:編譯ngx_cache_purge

1、Nginx的Proxy_cache是根據(jù)Key值md5哈希存儲(chǔ)緩存,支持任意的Key,例如你可以根據(jù)”域名、URI、參數(shù)”組合成key,也支持非200狀態(tài)碼,如404/302等。

2、要利用Nginx的Proxy_cache,你需要在Nginx編譯進(jìn)ngx_cache_purge 模塊,執(zhí)行:nginx -V,查看有沒有ngx_cache_purge 字樣,沒有的話需要自己手動(dòng)編譯。
Nginx搭建CDN手動(dòng)編譯


3、這里以O(shè)neinstack編譯ngx_cache_purge 模塊作為操作演示,如果你用的是其它的LNMP包可以參考,基本過程是差不多的。命令如下:

cd /root/oneinstack/src #進(jìn)入安裝包目錄
nginx -V
tar xzf nginx-1.10.3.tar.gz #根據(jù)上面查看到的nginx版本選擇解壓包

wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
tar zxvf ngx_cache_purge-2.3.tar.gz
cd /root/oneinstack/src/nginx-1.10.3

# 下面的./configure 后加的參數(shù),你可以直接復(fù)制剛剛用nginx -V得到的參數(shù),然后在最后加上–add-module=../ngx_cache_purge-2.3即可,參考:
./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module –with-http_v2_module –with-http_ssl_module –with-http_gzip_static_module –with-http_realip_module –with-http_flv_module –with-http_mp4_module –with-openssl=../openssl-1.0.2k –with-pcre=../pcre-8.39 –with-pcre-jit –with-ld-opt=-ljemalloc –add-module=../ngx_cache_purge-2.3

make

mv /usr/local/nginx/sbin/nginx{,$(date +%m%d)}
cp objs/nginx /usr/local/nginx/sbin #oneinstack,其它的可以不用這個(gè)操作

nginx -t
service nginx restart

4、安裝完成后,再次nginx -V你就可以看到Nginx已經(jīng)成功編譯進(jìn)了ngx_cache_purge 了。

二、利用Nginx的proxy_cache搭建緩存服務(wù)器二:修改Nginx配置文件

1、先找到你的Nginx配置文件:nginx.conf(路徑一般是在/usr/local/nginx/conf/nginx.conf),在配置文件Http中加入以下代碼:(注意修改路徑為你自己的路徑)

proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_cache_path /data/wwwroot/pic.freehao123.com levels=1:2 keys_zone=cache_one:200m inactive=30d max_size=5g;
proxy_temp_path /data/wwwroot/pic.freehao123.com/temp;

2、操作如下圖:

3、然后在你的虛擬主機(jī)的nginx.conf(路徑一般是/usr/local/nginx/conf/vhost/pic.freehao123.com.conf),在server listen 80 和 listen 443 ssl http2 都加入下面命令:

location /{
proxy_pass https://www.freehao123.com;
proxy_redirect off;
proxy_set_header Host www.freehao123.com;
proxy_cache cache_one;
proxy_cache_valid 200 302 304 365d;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
add_header Images-Cache “$upstream_cache_status from $host”;
add_header Pragma public;
add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
access_log off; log_not_found off; expires max;
}

4、將配置文件保存重新上傳,然后執(zhí)行:

nginx -t
service nginx restart

5、先執(zhí)行檢查Nginx配置是否正確,確認(rèn)沒有問題的就是重啟Nginx了。

6、如果你想緩存gravatar頭像,那么代碼就是:

location /avatar{
proxy_pass http://cn.gravatar.com;
proxy_redirect off;
proxy_set_header Host cn.gravatar.com;
proxy_cache cache_one;
proxy_cache_valid 200 302 304 365d;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
add_header Images-Cache “$upstream_cache_status from $host”;
add_header Pragma public;
add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
access_log off; log_not_found off; expires max;
}

7、現(xiàn)在打開你的二級(jí)域名:pic.freehao123.com,你就可以看到已經(jīng)正確緩存了圖片了。

8、這里再給出另一個(gè)Nginx緩存代碼,實(shí)現(xiàn)效果和上面是一樣的。

#先在Nginx配置中寫入以下命令:
proxy_temp_file_write_size 128k;
proxy_temp_path /data/wwwroot/pic.ucblog.net/temp;
proxy_cache_path /data/wwwroot/pic.ucblog.net levels=1:2 keys_zone=cache_one:500m inactive=7d max_size=5g;

#再在虛擬主機(jī)的Nginx配置中寫入以下命令:
先在server listen 80 和listen 443代碼前面加入:
upstream gravatar {
server secure.gravatar.com:443;
}
#再在server listen 80 和listen 443 里面加入:
location / {
proxy_pass_header Server;
proxy_set_header Host cn.gravatar.com;
proxy_set_header Accept-Encoding ”;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass https://gravatar;
proxy_cache cache_one;
proxy_cache_valid 200 304 365d;
proxy_cache_key $host$uri$is_args$args;
expires max;
}

9、在VPS主機(jī)上,你可以看到proxy_cache生成的哈希文件,就表示緩存已經(jīng)成功了。

三、利用Nginx的proxy_store搭建鏡像服務(wù)器:修改Nginx配置方法

1、Nginx的proxy_store作用是直接把靜態(tài)文件在本地硬盤創(chuàng)建并讀取,類似于七?;蛘哂峙倪@樣的鏡像CDN功能,首次訪問會(huì)自動(dòng)獲取源站的靜態(tài)圖片等文件,之后的訪問就是直接從CDN服務(wù)器讀取,加快了速度。

2、直接修改Nginx的虛擬主機(jī)配置文件(這里以img.freehao123.com.conf為演示),加入以下代碼:

location / {
expires 3d;
proxy_set_header Accept-Encoding ”;
root /data/wwwroot/img.freehao123.com;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /data/wwwroot/img.freehao123.com/temp;
if ( !-e $request_filename) {
proxy_pass https://www.freehao123.com;
}
}

3、再次保存配置上傳,然后重啟Nginx。你可以看到img.freehao123.com請(qǐng)求的圖片等靜態(tài)文件已經(jīng)成功從源站中獲得到了。

4、在VPS主機(jī)上的存目錄中也可以看到proxy_store已經(jīng)完整地將圖片等靜態(tài)文件的目錄都保存下來了,相當(dāng)于一個(gè)網(wǎng)站的鏡像存儲(chǔ)CDN了。

5、這里還有一個(gè)使用,效果和上面是一樣的,記得替換好路徑,代碼如下:

upstream http_tornado {
server www.freehao123.com:443;
}

server {
# 省略其他配置
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ {
root /opt/data/product/blog/cache;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /opt/data/product/blog/cache;
if ( !-e $request_filename) {
proxy_pass http://http_tornado;
}
}
}

四、Nginx的proxy_store和proxy_cache有什么區(qū)別?

1、鏡像與緩存的區(qū)別。從上面的介紹我們也可以看出來,proxy_store相當(dāng)于鏡像一個(gè)網(wǎng)站了,第二次訪問圖片等靜態(tài)文件是直接讀取CDN服務(wù)器上的,大大減輕了源站的負(fù)擔(dān)。proxy_cache相當(dāng)于緩存,即把請(qǐng)求生成Key,第二次訪問就可以加快速度了。


2、proxy_store適合靜態(tài),proxy_cache適合動(dòng)態(tài)。proxy_store是將圖片完整保存在CDN服務(wù)器上,所以它更適合于圖片CDN加速,而proxy_cache是緩存生成Key,更加適合動(dòng)態(tài)網(wǎng)站加速,可用于負(fù)載均衡,減輕服務(wù)器負(fù)擔(dān)。

五、搭建鏡像CDN服務(wù)器后要做的事情?

1、第一,因?yàn)榇罱ㄧR像CDN服務(wù)器是完整地復(fù)制了源站的文件和URL,所以為了避免被搜索引擎誤認(rèn)為抄襲重復(fù)站,我們可以給CDN站加上Robots.txt,阻止搜索引擎收錄。命令如下(允許收錄圖片,其它不允許爬取):

User-agent: Baiduspider
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: 360Spider
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: Baiduspider-image
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: 360Spider-Image
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: Sosospider
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: sogou spider
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: YodaoBot
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: Googlebot
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: Bingbot
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: Slurp
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: MSNBot
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: googlebot-image
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: googlebot-mobile
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: yahoo-blogs/v3.9
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: psbot
Allow: /wp-content/uploads/*.jpg$
Allow: /wp-content/uploads/*.png$
Allow: /wp-content/uploads/*.gif$
Disallow: /

User-agent: *
Disallow: /

2、第二,做好Nginx防盜鏈。如果你的CDN服務(wù)器流量不怎么夠的話,建議還是做好防盜鏈措施,同時(shí)還可以幫你減輕服務(wù)器負(fù)擔(dān)。在你的虛擬主機(jī)配置文件中加入以下代碼:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked freehao123.com *.freehao123.com *.google.cn *.google.com *.google.com.hk image.baidu.com *.baidu.com;
if ($invalid_referer) {
rewrite ^/ https://www.freehao123.com;
#return 403;
}
}

3、第三,設(shè)置好Nginx默認(rèn)圖片。這個(gè)主要是針對(duì)緩存Gravatar頭像的,當(dāng)源站服務(wù)器不存在某一個(gè)圖片或者文件時(shí),我們可以給Nginx設(shè)置一個(gè)默認(rèn)的圖片或者鏈接,這樣緩存看起來就完美了。

location /avatar {

try_files $uri /avatar/set-avatar.png;

}

#或者使用:
location /{

try_files $uri /set-avatar.png;

}

4、效果見下圖:

到此這篇關(guān)于詳解用Nginx搭建CDN服務(wù)器方法(圖文)的文章就介紹到這了,更多相關(guān)Nginx搭建CDN服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx修改默認(rèn)端口方法圖文詳解

    nginx修改默認(rèn)端口方法圖文詳解

    我們都知道nginx 默認(rèn)使用80端口,有時(shí)候我們希望nginx運(yùn)行在其他端口,下面這篇文章主要給大家介紹了關(guān)于nginx修改默認(rèn)端口的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 詳解用Nginx搭建CDN服務(wù)器方法(圖文)

    詳解用Nginx搭建CDN服務(wù)器方法(圖文)

    這篇文章主要介紹了詳解用Nginx搭建CDN服務(wù)器方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Nginx的信號(hào)控制

    Nginx的信號(hào)控制

    今天小編就為大家分享一篇關(guān)于Nginx的信號(hào)控制,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Nginx location匹配規(guī)則的方法示例

    Nginx location匹配規(guī)則的方法示例

    這篇文章主要介紹了Nginx location匹配規(guī)則的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • Nginx禁用TLSv1.0?1.1改為TLSv1.2?1.3的操作方法

    Nginx禁用TLSv1.0?1.1改為TLSv1.2?1.3的操作方法

    使用Mozilla?SSL配置工具生成配置,修改nginx.conf的ssl_protocols和ssl_ciphers,通過ssllabs檢測及Linux命令測試TLS版本支持情況,確保網(wǎng)站SSL安全配置生效,本文給大家介紹Nginx禁用TLSv1.0?1.1改為TLSv1.2?1.3的操作方法,需要的朋友一起看看吧
    2025-08-08
  • nginx?搭建http-flv(rtmp)流媒體的方法步驟

    nginx?搭建http-flv(rtmp)流媒體的方法步驟

    本文主要介紹了nginx?搭建http-flv(rtmp)流媒體的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-06-06
  • nginx配置靜態(tài)資源的訪問的實(shí)現(xiàn)

    nginx配置靜態(tài)資源的訪問的實(shí)現(xiàn)

    本文主要介紹了nginx配置靜態(tài)資源的訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • Nginx限制特定IP訪問自己的網(wǎng)站實(shí)現(xiàn)的幾種方法

    Nginx限制特定IP訪問自己的網(wǎng)站實(shí)現(xiàn)的幾種方法

    本文主要介紹了使用Nginx限制特定IP訪問自己的網(wǎng)站的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Nginx設(shè)置響應(yīng)超時(shí)配置的實(shí)現(xiàn)

    Nginx設(shè)置響應(yīng)超時(shí)配置的實(shí)現(xiàn)

    本文詳細(xì)介紹了如何查找和修改Nginx的配置文件,包括全局配置文件、站點(diǎn)配置文件、包含文件的查找,以及客戶端超時(shí)設(shè)置、代理超時(shí)設(shè)置、FastCGI超時(shí)設(shè)置的修改方法,最后還介紹了如何在Linux系統(tǒng)中重啟Nginx服務(wù),通過這些步驟,可以有效提高Nginx的性能和穩(wěn)定性
    2024-10-10
  • 深入了解Nginx auth_request

    深入了解Nginx auth_request

    描述:nginx-auth-request-module模塊用于實(shí)現(xiàn)權(quán)限控制攔截,通過配置可以實(shí)現(xiàn)多個(gè)站點(diǎn)之間的統(tǒng)一權(quán)限控制,下面就來介紹一下,感興趣的可以了解一下
    2024-12-12

最新評(píng)論