您好,登錄后才能下訂單哦!
怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
CDN基礎(chǔ)實(shí)驗(yàn)2----基于nginx+squid實(shí)現(xiàn)緩存功能
1、搭建兩個(gè)web服務(wù),使用nginx實(shí)現(xiàn)。
一個(gè)做源站(然后域名為:www.cdntest.com),配置實(shí)現(xiàn)功能:提供可以訪問的web服務(wù);
另一個(gè)做反向代理,接收用戶的請(qǐng)求,配置實(shí)現(xiàn)功能是:代理到后端的squid。
2、搭建一個(gè)squid服務(wù),配置實(shí)現(xiàn)如下功能:
1)txt緩存1個(gè)月,jpg文件不緩存
2)配置回源功能,源站為后端的web服務(wù)器(nginx)
詳細(xì)架構(gòu)如下
圖 1
圖 2
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
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)的就行,可以按照實(shí)際需求更改
server_name www.cdntest.com; #這個(gè)可以自定義
location / {
proxy_pass http://192.168.56.5; #填寫squid服務(wù)器的IP
}
}
激活和啟動(dòng)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#在實(shí)驗(yàn)中可以允許所有(deny改成allow),實(shí)際生產(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 #這個(gè)是反向代理的源服務(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文件保存一個(gè)月
激活和啟動(dòng)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)即可
}
激活和啟動(dòng)服務(wù)同上。
注:為了達(dá)到實(shí)驗(yàn)要求,自己的nginx-web服務(wù)器上必須放有.txt文件和.jpg文件。
編輯windows上的C:\Windows\System32\drivers\etc\hosts文件
添加如下兩行
192.168.56.3 www.cdntest.com
192.168.56.3 cdntest.com #這能使windows上的瀏覽器通過這個(gè)域名能直接訪問
Nginx-Proxy這臺(tái)反向代理服務(wù)器
在瀏覽器中輸入www.cdntest.com或cdntest.com,訪問結(jié)果如下
圖 3
驗(yàn)證緩存是否成功
在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é)果
圖 4
圖 5
關(guān)于怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。