当前位置: 首页 > news >正文

昆明网站建设费用视频门户网站建设项目标书

昆明网站建设费用,视频门户网站建设项目标书,上海学习网站建设,广州企业招聘信息varnish概念 初步认识 首先来跟我学习#xff0c;v~a~r~n~i~s~h~~ #xff0c;学会了没有~ 当然还有很重要的一个概念#xff0c;它是高性能缓存服务器#xff0c;举个例子。 好比我们要去买东西#xff0c;所有的我们需要的东西是在超市厂家生产出来的#xff0c;我们需…varnish概念 初步认识 首先来跟我学习v~a~r~n~i~s~h~~ 学会了没有~ 当然还有很重要的一个概念它是高性能缓存服务器举个例子。 好比我们要去买东西所有的我们需要的东西是在超市厂家生产出来的我们需要的话去超市厂家取。这代表离服务器端近。 在好比我们要去超市买东西这个超市厂家负责送货到家门口楼下的超市那我们肯定选择离我们自己近的。这就是代表离客户端近。 而缓存的功能就是把客户端经常需要“买”的东西送到客户端门口毕竟web的存在就是为了给客户端提供服务的所以缓存是一个非常重要的概念。那怎么把数据送到客户端门口呢我们最常接触的就是浏览器缓存比如你访问过一个网站第一次打开需要加载但是如果你打开了第二个页面感觉又想回到上一个页面直接返回就可以此时并不需要重新加载这就是缓存的一种。 缓存运行时遵从的理念 时间局部性一个数据被访问过之后被统计接下来被访问的概率。 空间局部性一个数据被访问时周边数据被访问的概率。 这些称为缓存的热区那空间满了怎么办使用LRU算法根据时间最近和频率最少使用来清理缓存。 还有需要注意的一点是以上所有的数据都是经过客户端一段时间的访问来统计出来的而且要知道缓存是重启失效的所以你懂得没事可以把服务器经常关机或者重启试试肯定特别刺激。 varnish程序选项以及配置 调用方式看下图     VCL语法格式 /etc/varnish/default.vcl 必须以VCL 4.0;开始//  # /* foo */  全部为注释根据不同的需求把不同的配置写进不同的配置段 sub vcl_recv {      } sub vcl_backend_response {      } sub vcl_deliver {      } 终止语句return没有返回值不支持循环众多内置变量便令的可调用位置和state engine 有密切关系支持众多操作符赋值 等值比较 ~模式匹配 取反  逻辑与  || 逻辑或“域”专用语言只能用在特定的“域”上/etc/varnish/varnish.params RELOAD_VCL1  ##启动时会不会自动加载VCL配置文件1为确认VARNISH_VCL_CONF/etc/varnish/default.vcl  ##默认加载的缓存策略文件VARNISH_SECRET_FILE/etc/varnish/secret  ##秘钥文件存储位置VARNISH_USERvarnish   ##所属用户VARNISH_GROUPvarnish  ##所属组VCL配置文件重载varnish_reload_vcl   缓存存储机制 .malloc[,size]内存存储,size用来定义缓存空间大小重启失效。.file,path[,size]:文件存储重启失效。.persistent,path,size:文件存储重启有效但是实验阶段不稳定不建议使用。内置变量机制 req.*request表示由客户端发来的请求报文相关 bereq.*由varnish发往BE后端主机的httpd请求相关 bereq.http.HEADERS bereq.request请求方法 bereq.url请求的url bereq.proto请求的协议版本 bereq.backend指明要调用的后端主机 req.http.Cookie客户端的请求报文中Cookie首部的值  req.http.User-Agent ~ chrome beresp.*由BE主机响应给varnish的响应报文相关 resp.*由varnish响应给client相关 beresp.*, resp.* beresp.http.HEADERS beresp.status响应的状态码 reresp.proto协议版本 beresp.backend.nameBE主机的主机名 beresp.ttlBE主机响应的内容的余下的可缓存时长 obj.*存储在缓存空间中的缓存对象的属性只读 obj.hits此对象从缓存中命中的次数 obj.ttl对象的缓存时长 obj.grace 缓存时长宽限期 下面图为变量应用的位置以及是否可执行读或写   使用两个centos7.3实验演示看起来清晰一点。 centos 1 192.168.150.161 安装httpd centos 2 192.168.150.160 安装varnish 编辑centos 1 httpd配置文件; [rootlocalhost: script]# vim /var/www/html/index.html h1 centos7.3 httpd test page /h1 systemcel start httpd ##启动服务 编辑centos 2 varnish 配置文件 ; [rootlocalhost: script ]# vim /etc/varnish/varnish.params ##程序选项文件配置varnish服务进程的工作特性例如监听地址端口以及缓存机制; ...... 13 # VARNISH_LISTEN_ADDRESS192.168.1.5 ##监听在哪个地址这里注释了代表监听在本机所有的IP; 14 VARNISH_LISTEN_PORT80 ##监听本机的哪个端口默认为6081; 15 16  # Admin interface listen address and port ##配置管理员选项; 17 VARNISH_ADMIN_LISTEN_ADDRESS127.0.0.1 ##监听在本机那个IP; 18 VARNISH_ADMIN_LISTEN_PORT9877 ##监听在本机那个端口; ..... 24 # man page for details. 25 VARNISH_STORAGEfile,/data/varnish,1g ##默认存在缓存中这里配置为存在磁盘文件目录以及文件大小目录需要手动创建并且需要设置varnish用户为属主与属组; ...... [rootlocalhost: script ]# /etc/varnish/default.vcl ##配置各Child/Cache线程的缓存策略,先把httpd配置为后端主机; ...... 15 # Default backend definition. Set this to point to your content server. 16 backend default { ##定义后端主机; 17   .host 192.168.150.161; ##默认是127.0.0.1改为httpd服务器IP; 18   .port 80; ##默认为8080改为80; 19   } 20 21 sub vcl_recv { 22 22 23   if (req.method ! GET   ##设置默认策略请求方法如果不是GET,HEAD,PUT,POST,TRACE,IPTIONS,DELETE,其中一个则跳转至pipe避免有比较老的系统不能访问网站 24     req.method ! HEAD 25     req.method ! PUT 26     req.method ! POST 27     req.method ! TRACE 28     req.method ! OPTIONS 29     req.method ! DELETE) { 30   return (pipe); 31   } 32 33   if (req.method ! GET req.method ! HEAD) {  ##如果请求方法不是GET,HEAD则跳转至pass 34     return (pass); 35   } 36   if (req.http.Authorization || req.http.Cookie) {   ##如果请求中有认证相关的信息或者cookie信息则跳转至pass 37     return (pass); 38   } 39   return (hash); 40  }   [rootstation103: varnish]# mkdir /data/varnish -pv ##创建缓存文件目录 systemctl start varnish ##启动服务 使用浏览器访问192.168.150.160 基本框架已经搭好。     配置centos 1 [rootlocalhost: varnish]# mkdir /var/www/html/{login,admin} -pv [rootlocalhost: varnish]# echo 1111   /var/www/html/login/index.html [rootlocalhost: varnish]# echo 1111   /var/www/html/admin/index.html 配置centos 2  [rootlocalhost: varnish]# vim /etc/varnish/default.vcl sub vcl_recv {      if (req.url ~ (?i)^/(login|admin)) {  ##表示如果访问的是login或者admin任何文件则去硬盘中找;     return(pass);   } } [rootlocalhost: varnish]# varnishadm -S /etc/varnish/secret -T 127.0.0.1:9877   ##交互式登录 -S 指定秘钥文件  -T 指定本机127.0.0.1以及自己配置的端口 vcl.load test1 default.vcl    ##从default.vcl配置文件中装载进缓存命名为 test1需要注意这里是装载进的缓存重启失效。使用vcl.show test1 可以查看配置 加 -v显示详细配置200 VCL compiled. vcl.list   ##查看所有列表test1已经存在 但是非活动状态 200 active 0 bootavailable 0 test1 vcl.use test1  ##启用test1 200 VCL test1 now active 查看访问网页 http://192.168.150.160/login/因为有关键字摁F12可以看到并没有缓存   [rootstation103: varnish]# vim /etc/varnish/default.vcl sub vcl_deliver {   ## 定义   if (obj.hits0) {    ##如果访问记录大于等于1次    set resp.http.X-Cache HIT via server.ip;    ## 自定义首部 为HIT vai IP空格要自己加 看起来整齐一点  } else {   ##否则    set resp.http.X-Cache MISS via server.ip;   ## 自定义首部为 MISS via   } } 记得自己要去 varnish交互式界面同步 vcl.load test2 default.vcl  200 VCL compiled. vcl.use test2   ##生效新的配置test2200 VCL test2 now active 第一次访问 MISS    第二次刷新 已经显示HIT;         清缓存 banbanning为禁用缓存 使用方法一样 vim /etc/varnish/default.vcl acl purgers {   ##首先要定义组   127.0.0.1/8;   192.168.150.160/16;} sub vcl_recv {     if (req.method PURGE) {  ##如果请求方法是PURGE;     if (!client.ip ~ purgers) {  ##基于上面的基础 如果请求的IP 为定义的acl控制purgers组内的IP       return(synth(405,Purging not allowed for client.ip));  ##返回值为405 中间加上内容 后面加上访问者IP     }   return(purge);  ##跳转至PURGE;   }  ##这样如果客户端请求过有缓存的话使用purge方法请求一次会清空缓存在访问就会MISS }  使用curl 方法指定请求方法来访问验证试验结果 [rootstation103: /root]# curl -I http://192.168.150.160/index.html   ##先请求 为HIT 代表有之前有缓存HTTP/1.1 200 OKDate: Sat, 01 Jul 2017 11:35:42 GMTServer: Apache/2.4.6 (CentOS) PHP/5.4.16Last-Modified: Sat, 01 Jul 2017 02:56:40 GMTETag: 25-55338aedeff49Content-Length: 37Content-Type: text/html; charsetUTF-8X-Varnish: 62 52Age: 112Via: 1.1 varnish-v4X-Cache: HIT via 192.168.150.160   ##显示为HITConnection: keep-alive [rootstation103: /root]# curl -X PURGE http://192.168.150.160/imdex.html!DOCTYPE html   ##使用PURGE 方法请求html head title405 Purging not allowed for 192.168.150.160/title /head body h1Error 405 Purging not allowed for 192.168.150.160/h1   ##返回值为我们设定的405 以及IP pPurging not allowed for 192.168.150.160/p h3Guru Meditation:/h3 pXID: 65584/p hr pVarnish cache server/p /body/html [rootstation103: /root]# curl -I http://192.168.150.160/index.html   ##再次请求发现MISSHTTP/1.1 200 OK Date: Sat, 01 Jul 2017 11:38:10 GMTServer: Apache/2.4.6 (CentOS) PHP/5.4.16Last-Modified: Sat, 01 Jul 2017 02:56:40 GMTETag: 25-55338aedeff49Content-Length: 37Content-Type: text/html; charsetUTF-8X-Varnish: 65586Age: 0Via: 1.1 varnish-v4X-Cache: MISS via 192.168.150.160  ##MISS 代表缓存已清空Connection: keep-alive  定义多个虚拟主机 [rootstation103: varnish]# vim /etc/varnish/default.vcl 13 vcl 4.0; 14 15 import directors;  ##首先一定要调用这个模块否则不能定义 16 ...... 22 backend web1 {   ##定义backend主机1 23   .host 192.168.150.161; 24   .port 80; 25 } 26 backend web2 { ##定义backend主机2  27    .host 192.168.150.152;   28   .port 80; 29 } 30 sub vcl_init { ##初始化组 31·        new web directors.round_robin();  ##定义web为组名directors为模块 round_robin为调度方法 32    web.add_backend(web1);  ##添加主机1至web组是可以加权重的如果加权重是这样写web1,2主机名字后面逗号隔开写上权重 33    web.add_backend(web2);  ##添加主机2至web组 34 } 35 36 37 sub vcl_recv { 38 39    set req.backend_hint web.backend();  ##调用组 40 } 此时添加了一个主机 centos 3 IP为192.168.150.152 安装httpd  [rootlocalhost ~]# mkdir /var/www/html/{login,admin} -pv [rootlocalhost ~]# echo centos7.3 httpd test page2 /var/www/html/login/index.html [rootlocalhost ~]# systemctl start httpd centos 1  [rootlocalhost: /root]# echo centos7.3 httpd test page1 /var/www/html/login/index.html 因为需要测试所以不能使用有缓存的文件特地创建一个login目录之前有设置过权限内容不统一方便查看测试效果。 轮询效果实现    loading.....转载于:https://www.cnblogs.com/MYue/p/7102052.html
http://wiki.neutronadmin.com/news/373686/

相关文章:

  • wordpress分类页获取分类名称大连seo排名
  • 办公类网站开发背景网络推广中心
  • 有找代做家具的网站m网业游戏大全
  • 网站开发要懂英文吗文登市城乡建设局网站
  • 网站设计工程师个人网站后期怎么做企业
  • 福州响应式网站软文有哪几种类型
  • 不会技术怎么做公司网站网站策划职业规划
  • 北辰正方建设集团有限公司官方网站wordpress会员查看
  • 刚做的网站在百度上搜不到郑州微信公众号网站建设
  • 基于iview的网站开发模板网站规范建设情况
  • 闽侯福州网站建设南宁网站建设工具
  • ps中网站页面做多大的微信做单子的网站源码
  • 泰安建材网站建设电话全球速卖通网址
  • 网站服务器如何做端口映射wordpress 正在维护
  • 网站代备案流程如果修改wordpress后台登录域名
  • 网站建设有哪些优质公众号wordpress页面添加按钮
  • 金华免费模板建站网站代码图片
  • 二七区网站建设网站规划
  • 铜仁市网站建设网站设计公司 广州
  • 网站开发费的会计处理软件技术是什么
  • 南通优普网站建设制作国外好用的网站
  • 如何在外管局网站上做a合同网店托管被骗了3000
  • 网站专栏建设情况兰州网站制作公司
  • 网站备案工信部网页设计代码单词
  • 怎么做网站背景企业做网站需要花多少钱
  • 学会计算机编程可以做网站吗郴州网站推广
  • 在哪网站可以做农信社模拟试卷建一个全部由自己控制的网站需要多少钱
  • 512m内存做网站修改wordpress 字体
  • 网站开发技术发展趋势推广普通话文字素材
  • 网站建设属于税收便民信息发布平台