CentOS7搭建小型CDN

杀马特。学长 韩版系。学妹 提交于 2019-11-29 06:39:37

一丶试验要求

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

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

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

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

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

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

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

详细架构如下

图 1

 

二丶实验环境


图 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,访问结果如下

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

返回结果

 

图 4

图 5

六丶结束

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!