温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在CentOS7系统中搭建一个CDN

发布时间:2021-06-15 12:00:15 来源:亿速云 阅读:309 作者:Leah 栏目:大数据

怎么在CentOS7系统中搭建一个CDN,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一丶试验要求

CDN基础实验2----基于nginx+squid实现缓存功能

1、搭建两个web服务,使用nginx实现。

一个做源站(然后域名为:www.cdntest.com),配置实现功能:提供可以访问的web服务;

另一个做反向代理,接收用户的请求,配置实现功能是:代理到后端的squid。

2、搭建一个squid服务,配置实现如下功能:

1)txt缓存1个月,jpg文件不缓存

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

详细架构如下

怎么在CentOS7系统中搭建一个CDN

图 1

二丶实验环境

怎么在CentOS7系统中搭建一个CDN

图 2

三丶试验准备

centos7 软件源设置

备份原来的.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

清除和新建元数据缓存

[root@localhost~]# yum clean all

[root@localhost~]# yum makecache

四丶服务配置

Nginx-Proxy 虚拟机配置

安装nginx

[root@proxy ~]# yum install -y nginx

配置/etc/nginx/nginx.conf 其它默认 (centos6.x的系统是编辑/etc/nginx/conf.d/defualt.conf)

[root@proxy ~]# vim /etc/nginx/nginx.conf

server {

listen 80 default_server; #这端口80,默认的就行,可以按照实际需求更改

server_name www.cdntest.com; #这个可以自定义

location / {

proxy_pass http://192.168.56.5; #填写squid服务器的IP

    }

}

激活和启动nginx服务

[root@proxy ~]# systemctl enable nginx.service 

[root@proxy ~]# systemctl start nginx.service

Squid缓存服务器配置

安装squid

[root@squid ~]# yum install squid

配置/etc/squid/squid.conf,其它保存为默认

[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),实际生产环境可以视情况来配置

http_port 192.168.56.5:80 accel vhost #配置squid本地网卡和80端口,如果是双网卡,可以选择用来访问源服务器的那一张

cache_peer 192.168.56.4 parent 80 0 originserver #这个是反向代理的源服务器

cache_dir ufs /var/spool/squid 100 16 256 #缓存目录

cache_log /var/log/squid/cache.log #缓存日志

refresh_pattern -i \.txt$      43200  100%    43200 #缓存规则,txt文件保存一个月

激活和启动squid服务

[root@squid ~]# systemctl enable squid.service

[root@squid ~]# systemctl start squid.service

Nginx-Web服务器配置

安装nginx同上。

配置/etc/nginx/nginx.conf

[root@server ~]# vim /etc/nginx/nginx.conf

server {

server_name  www.cdntest.com; #配置域名,其它的保持默认即可

激活和启动服务同上。

注:为了达到实验要求,自己的nginx-web服务器上必须放有.txt文件和.jpg文件。

五丶客户机访问及验证缓存

编辑windows上的C:\Windows\System32\drivers\etc\hosts文件

添加如下两行

192.168.56.3 www.cdntest.com

192.168.56.3 cdntest.com #这能使windows上的浏览器通过这个域名能直接访问

Nginx-Proxy这台反向代理服务器

在浏览器中输入www.cdntest.com或cdntest.com,访问结果如下

怎么在CentOS7系统中搭建一个CDN

图 3

验证缓存是否成功

在nginx-proxy服务器下执行

[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)

返回结果

怎么在CentOS7系统中搭建一个CDN

图 4

怎么在CentOS7系统中搭建一个CDN

图 5

关于怎么在CentOS7系统中搭建一个CDN问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI