CDN初学搭建(ats)

ats
trafficserver
squid

一、 CDN初学搭建

准备vagrant virtualbox 内部环境测试所需包

一、vagrant创建启动虚拟机

1 mkdir /cdn 创建cdn目录,将开发环境所需包拷贝到此目录

2 初始化开发环境,vagrant init XXX.base ,将会生成Vagrantfile,此文件可以根据自身环境按需修改(此处省略)

1.1vagrant 添加一个本地box

  1. root@liuqiang:/cdn# vagrant box add ats1 ats1_dev.box 

  2. ==> box: Box file was not detected as metadata. Adding it directly... 

  3. ==> box: Adding box 'ats1' (v0) for provider: 

  4. box: Unpacking necessary files from: file:///cdn/ats1_dev.box 

  5. ==> box: Successfully added box 'ats1' (v0) for 'virtualbox'! 

1.2 将添加好的box开机,此时看到显示正常。

enter description here

1.3 此时在virtualbox能看到创建的虚拟机ats

enter description here

二、访问ats没有映射的url

登录ats1

  1. root@liuqiang:/cdn# vagrant ssh ats1 

  2. Last login: Fri Jun 23 02:13:44 2017 from 10.0.2.2 

执行sudo -i 获取root权限

  1. [vagrant@localhost ~]$ sudo -i 

  2. [root@localhost ~]# 

进入/home/ats目录,执行“./bin/trafficserver start”启动ats

  1. [root@localhost ats]# ./bin/trafficserver start 

  2. Starting Apache Traffic Server: [ OK ] 

执行“curl -v -x '127.0.0.1:8080' 'www.sohu.com' | more”通过ats代理访问www.sohu.com

#####预期结果

查看Log文件,最近一行提示404错误:

enter description here

三、测试修改源站配置添加url

预置条件: 用例10001, 10002 已执行成功,

测试步骤: 1、执行vagrant ssh ats1登录虚拟机

2、执行sudo -i 获取root权限

3、进入/home/ats目录,执行“./bin/trafficserver start”启动ats

4、打开配置文件./etc/trafficserver/remap.config,

在文件中增加一行“map http://www.sohu.com http://www.sohu.com

5.执行“./bin/traffic_ctl config reload”重新加载配置

6.执行“curl -v -x '127.0.0.1:8080' 'www.sohu.com' | more”

通过ats代理访问www.sohu.com

3.1查看Log文件,最近一行中返回值为200,页面内容正常返

enter description here

备注:第四部中的第二个“http://www.sohu.com”为目标地址,此处可以替换成自己的源站

CDN初学搭建(ats)的更多相关文章

  1. ELK初学搭建(kibana)

    ELK初学搭建(kibana) elasticsearch logstash kibana ELK初学搭建 kibana 1.环境准备 centos6.8_64 mini IP:192.168.10. ...

  2. ELK初学搭建(elasticsearch)

    ELK初学搭建(elasticsearch) elasticsearch logstash kibana ELK初学搭建 elasticsearch 1.环境准备 centos6.8_64 mini ...

  3. ELK初学搭建(logstash)

    ELK初学搭建(logstash) elasticsearch logstash kibana ELK初学搭建 logstash 1.环境准备 centos6.8_64 mini IP:192.168 ...

  4. ELK初学搭建

    目录:基础准备 修改相关系统配置 安装elasticsearch 安装 kibana 安装logstash X-pack插件的安装 登录网页查看 ELK名字解释 ELK就是ElasticSearch ...

  5. 如何搭建自己CDN服务器

    转载:http://server.zzidc.com/fwqpz/587.html 目前在免费CDN市场上,360因为“免费”而越做越大,加速乐做的很早.但因免费的节点不多,好多用户都被强走了.安全宝 ...

  6. 浅谈CDN、SEO、XSS、CSRF

    CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN. CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时.当时找不到相对 ...

  7. CDN使用心得:加速双刃剑

    文章图片存储在GitHub,网速不佳的朋友,请看<CDN 使用心得:加速双刃剑> 或者 来我的技术小站 godbmw.com 本文以腾讯云平台的 CDN 服务为例,记录下在个人网站开发和公 ...

  8. 教你如何使用github+jsDelivr搭建免费图床

    前言 之前写了一篇文章,教你如何使用Typora+PicGo实现图片自动上传到图床 . 这里我用的是七牛图床,七牛图床有一定的免费使用量(没记错的话应该是10个G),如果你的存储量超过这个大小就需要付 ...

  9. node.js 初学(二)—— 搭建注册/登录服务器

    node.js 初学(二)—— 搭建注册/登录服务器 理论上来说,代码实现在理论和实际上是一样的.但实际上来说,他们不是 做一个最简单的用户注册登录功能 1.接口定义: 注册:/user?act=re ...

随机推荐

  1. linux共享上网设置

    1.打开内核ip转发 vi /etc/sysctl.conf  net.ipv4.ip_forward = 1 执行sysctrl -p生效 2.如果主机未启用防火墙,那么如下设置iptables [ ...

  2. day15 web框架和Django基础

    参考博客: http://www.cnblogs.com/yuanchenqi/articles/6788872.html http://www.cnblogs.com/yuanchenqi/arti ...

  3. shiro权限定义的三种方法

    1.在配置文件中定义 <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFa ...

  4. Spring入门1. IoC入门实例

    Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...

  5. nfc功能读写 demo

    点此下载//这个demo是把这个程序作为一个手机启动选择的,只要一扫到卡片就会跳转到这个Activity. 只在当前Activity中有效参考:http://blog.csdn.net/zoeice/ ...

  6. iOS TableView常见问题

    Q:表视图只需要部分单元格,怎样删除下方多余的空白单元格? A:viewDidLoad中添加 self.tableView.tableFooterView=[[UIView alloc] init]; ...

  7. volatile关键字解析(二)

    volatile详解接下来,我们详细讲述一下volatile关键字volatile关键字具有两重语义 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这个新值对其他线程来说是 ...

  8. 设计 react 组件

    重新设计 React 组件库 诚身 7 个月前   在 react + redux 已经成为大部分前端项目底层架构的今天, 让我们再次回到软件工程界一个永恒问题的探讨上来, 那就是如何提升一个开发团队 ...

  9. 关于PHP页面显示乱码问题的解决

    关于PHP页面显示乱码问题的解决 网页乱码一直是网络编程高手都头痛的问题,我是一个PHP Web编程的初学者,学习当中也遇到了这个问题,查找了相关的资源,总结如下: 一般的中文编码:gb2312,gb ...

  10. StringUtils.isEmpty和StringUtils.isBlank的区别

    两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...