CentOS7搭建小型CDN

一丶试验要求

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

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

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

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

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

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

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

详细架构如下

webp

图 1

二丶实验环境


webp

图 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:WindowsSystem32driversetchosts文件

添加如下两行

192.168.56.3 www.cdntest.com

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

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

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

webp

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

返回结果

webp

图 4

webp

图 5

六丶结束

原文链接:https://blog.csdn.net/chengshan4842/article/details/100836091?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934461816780366573479%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934461816780366573479&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-21-100836091-null-null.nonecase&utm_term=%E6%90%AD%E5%BB%BAcdn

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/6317

(0)
上一篇 2022年8月8日
下一篇 2022年8月8日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml