溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN

發(fā)布時(shí)間:2021-06-15 12:00:15 來源:億速云 閱讀:320 作者:Leah 欄目:大數(shù)據(jù)

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

一丶試驗(yà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)如下

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN

圖 1

二丶實(shí)驗(yàn)環(huán)境

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN

圖 2

三丶試驗(yà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)的就行,可以按照實(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文件。

五丶客戶機(jī)訪問及驗(yàn)證緩存

編輯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é)果如下

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN

圖 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é)果

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN

圖 4

怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN

圖 5

關(guān)于怎么在CentOS7系統(tǒng)中搭建一個(gè)CDN問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(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)容。

AI