一丶試驗要求
CDN基礎(chǔ)實驗2----基于nginx+squid實現(xiàn)緩存功能
1包归、搭建兩個web服務(wù)金砍,使用nginx實現(xiàn)筐高。
一個做源站(然后域名為:www.cdntest.com)挽放,配置實現(xiàn)功能:提供可以訪問的web服務(wù)捐友;
另一個做反向代理量愧,接收用戶的請求钾菊,配置實現(xiàn)功能是:代理到后端的squid。
2偎肃、搭建一個squid服務(wù)煞烫,配置實現(xiàn)如下功能:
1)txt緩存1個月,jpg文件不緩存
2)配置回源功能累颂,源站為后端的web服務(wù)器(nginx)
詳細(xì)架構(gòu)如下
二丶實驗環(huán)境
三丶試驗準(zhǔn)備
centos7 軟件源設(shè)置
備份原來的.repo文件
[root@localhost ~]# mkdir /etc/yum.repos.d/bacakup
[root@localhost~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/bacakup
下載阿里的yum源
[root@localhost~]# wget -O /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
清除和新建元數(shù)據(jù)緩存
[root@localhost~]# yum clean all
[root@localhost~]# yum makecache
四丶服務(wù)配置
Nginx-Proxy 虛擬機(jī)配置
安裝nginx
[root@proxy ~]# yum install -y nginx
配置/etc/nginx/nginx.conf 其它默認(rèn) (centos6.x的系統(tǒng)是編輯/etc/nginx/conf.d/defualt.conf)
[root@proxy ~]# vim /etc/nginx/nginx.conf
server {
listen 80 default_server; #這端口80滞详,默認(rèn)的就行,可以按照實際需求更改
server_name www.cdntest.com; #這個可以自定義
location / {
proxy_pass http://192.168.56.5; #填寫squid服務(wù)器的IP
? ? }
}
激活和啟動nginx服務(wù)
[root@proxy ~]# systemctl enable nginx.service?
[root@proxy ~]# systemctl start nginx.service
Squid緩存服務(wù)器配置
安裝squid
[root@squid ~]# yum install squid
配置/etc/squid/squid.conf紊馏,其它保存為默認(rèn)
[root@squid ~]# vim /etc/squid/squid.conf
acl url_image url_regex -i ^http://.*\.jpg$
no_cache deny url_image
http_access allow deny#在實驗中可以允許所有(deny改成allow)料饥,實際生產(chǎn)環(huán)境可以視情況來配置
http_port 192.168.56.5:80 accel vhost #配置squid本地網(wǎng)卡和80端口,如果是雙網(wǎng)卡朱监,可以選擇用來訪問源服務(wù)器的那一張
cache_peer 192.168.56.4 parent 80 0 originserver #這個是反向代理的源服務(wù)器
cache_dir ufs /var/spool/squid 100 16 256 #緩存目錄
cache_log /var/log/squid/cache.log #緩存日志
refresh_pattern -i \.txt$? ? ? 43200? 100%? ? 43200 #緩存規(guī)則岸啡,txt文件保存一個月
激活和啟動squid服務(wù)
[root@squid ~]# systemctl enable squid.service
[root@squid ~]# systemctl start squid.service
Nginx-Web服務(wù)器配置
安裝nginx同上。
配置/etc/nginx/nginx.conf
[root@server ~]# vim /etc/nginx/nginx.conf
server {
server_name? www.cdntest.com; #配置域名赫编,其它的保持默認(rèn)即可
}
激活和啟動服務(wù)同上凰狞。
注:為了達(dá)到實驗要求,自己的nginx-web服務(wù)器上必須放有.txt文件和.jpg文件沛慢。
五丶客戶機(jī)訪問及驗證緩存
編輯windows上的C:\Windows\System32\drivers\etc\hosts文件
添加如下兩行
192.168.56.3 www.cdntest.com
192.168.56.3 cdntest.com #這能使windows上的瀏覽器通過這個域名能直接訪問
Nginx-Proxy這臺反向代理服務(wù)器
在瀏覽器中輸入www.cdntest.com或cdntest.com赡若,訪問結(jié)果如下
驗證緩存是否成功
在nginx-proxy服務(wù)器下執(zhí)行
[root@proxy ~]# curl -I http://192.168.56.5/txt/5.txt #查看txt緩存(圖4)
[root@proxy ~]# curl -I http://192.168.56.5/images/work-1.jpg #查看圖片緩存(圖5)
返回結(jié)果