CDN基礎實驗--基于nginx+squid實現緩存功能

CDN基礎實驗--基于nginx+squid實現緩存功能

實驗要求

1、搭建2個web服務,使用nginx實現。

1個做源站(然后域名為:www.cdntest.com),配置實現功能:提供可以訪問的web服務,另1個做反向代理,接收用戶的請求,配置實現功能是:代理到后端的squid。

2、搭建一個squid服務,配置實現如下功能:

1)txt緩存1個月,jpg文件不緩存

2)配置回源功能,源站為后端的web服務器(nginx)

3.軟件包及版本

nginx版本包:tengine-10.10.1-68.el6.x86_64.rpm或nginx-1.10.2-1.el6.x86_64

squid版本包:squid-3.8.3-2.p.x86_64.rpm

詳細架構如下:

實驗說明

1、squid軟件一般常用于代理中,也是最常見的緩存及代理軟件,它可以在Windows和Linux等系統運行

2、nginx在本實驗中用做http服務器和反向代理服務器,可以運行在Windows和Linux等系統運行

3、小提示:nginx、squid可以使用同一主機的不同端口實現本實驗。

4、實現域名訪問:①虛擬機環境下修改Windows全局hosts文件;②在Linux中搭建bind域名服務器。

本實驗以Windows的nginx作為源站,Linux的Squid作為緩存服務器、Linux的Nginx作為反向代理服務器,測試客戶為以上3臺的任意一臺。

準備環境:系統和軟件準備

系統:Windows10;Linux CentOS6.5 final;

軟件:nginx-1.10.2-1.el6.x86_64;squid-3.1.23-24.el6.x86_64

系統結構

源站IP:10.9.8.1

緩存代理squid IP:10.9.8.129

反向代理nginx IP:10.9.8.128

測試用戶為以上3臺主機的任意一臺

關鍵配置代碼

Nginx反向代理代碼:proxy_passhttp://10.9.8.129;

Squid設置源站:cache_peer10.9.8.1 parent 80 0 originserver

Squid緩存設置:refresh_pattern-i \.txt$ 43200 100% 43200

詳細安裝和配置

(1)源站配置(Windows)

下載nginx的Win包安裝到windows系統下,配置conf/nginx.conf如下:

```

server {

listen80;

server_namelocalhost www.cdntest.com;

root"E:\Nginx";

indexindex.html index.htm index.php;

#省略部分代碼

}

```

把txt/jpg文件放在E:\Nginx目錄下

(2)緩存服務器Squid的安裝及配置

安裝:yum install squid -y

配置/etc/squid/squid.conf如下:

http_access allow all

http_port 80 #端口一般使用常用端口

cache_dir ufs

/var/spool/squid 100 16 256 #緩存目錄

http_port10.9.8.129:80 accel vhost

cache_peer

10.9.8.1 parent 80 0 originserver #設置源站及端口

cache_mem 64 MB #緩存空間大小

acl allow_file

url_regex -i \.(txt) #允許緩存的文件

cache allowallow_file

refresh_pattern -i\.txt$ 43200100%43200 #設置緩存時間 單位為秒

(3)反向代理nginx的安裝及配置

安裝:yum install nginx -y

配置:/etc/nginx/conf.d/default.conf

```

server {

? ? listen80;

? ?server_namewww.cdntest.com;

? ?location / {

? ?proxy_passhttp://10.9.8.129; #反向代理地址

? }

}

```

配置完成后重啟nginx

(4)驗證實驗

①通過Windows的瀏覽器訪問

②使用10.9.8.128/10.9.8.129?curl訪問

HTML頁面curl http://www.cdntest.com/default.html

JPG圖片 需要執行多次,查看是否被squid緩存

curlhttp://www.cdntest.com/test.jpg -I

TXT文件 需要執行兩次,第一次為訪問源站,第二次為訪問緩存

curlhttp://www.cdntest.com/test.txt -I

③其他測試方法

為確保緩存txt文件成功,而jpg圖片不被緩存,將源站服務關掉,再次訪問txt和jpg,得到以下結果:訪問jpg文件服務器返回503;訪問txt文件返回200

到此,已經完成了基于nginx+squid實現緩存功能的小型CDN實驗

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,698評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,202評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,742評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,580評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,297評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,688評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,693評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,875評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,438評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,183評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,384評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,931評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,612評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,022評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,297評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,093評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,330評論 2 377

推薦閱讀更多精彩內容

  • 一丶試驗要求 CDN基礎實驗2----基于nginx+squid實現緩存功能 1、搭建兩個web服務,使用ngin...
    SkyOfWood閱讀 6,745評論 0 6
  • 《老男孩Linux運維》筆記 隱藏Nginx軟件版本號 一般來說,軟件的漏洞都和版本有關。因此要盡量隱藏對訪問用戶...
    Zhang21閱讀 3,667評論 0 28
  • I/O模型Nginx介紹Nginx的安裝和目錄結構Nginx的配置Nginx的編譯安裝 一、I/O模型 (一)I/...
    哈嘍別樣閱讀 903評論 0 4
  • 【準備】1:3臺虛擬機(奇數臺)2:jdk安裝3:免密碼登陸 【1】上傳tar包到其中一臺虛擬機并解壓 【2】修改...
    先生_呂閱讀 999評論 0 1
  • 決定重新開始寫字 因為有些東西好難忘記 卻不得不忘記 寫下就是封存 然后想要的時候再打開 我也始終相信寫作是最好的...
    47Maggie閱讀 131評論 0 0