热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS使用varnish自建cdn加速服务器

varnish是现在很流行的一个HTTP缓存加速解决方案,被广泛应用于各种大型网站,国外的一家在线报纸网站只用了5台varnish服务器换掉了原来的13台squid服务器,而且性能还有提升,可见varnish的强大之处。varnish是基于内存的缓存加速。YUM安装方法:1.系统需
varnish是现在很流行的一个HTTP缓存加速解决方案,被广泛应用于各种大型网站,国外的一家在线报纸网站只用了5台varnish服务器换掉了原来的13台squid服务器,而且性能还有提升,可见varnish的强大之处。varnish是基于内存的缓存加速。

YUM安装方法:

1.系统需求
最好是全新系统,我在centos6X64安装,yum安装支持centos5或6,安装前先把httpd卸载,执行: yum remove httpd

2.开始安装执行
# rpm --nosignature -i
http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release-3.0-1.noarch.rpm
# yum install varnish
大约一分钟即可安装完毕

3.配置varnish:
只需要编辑一个文件,在 /etc/varnish/default.vcl  以下是基本范例:
backend web1 {                  #web1为定义名称随便写
.host = "你的源站ip";          #你需要加速的网站ip
.port = "80";                         #你的源站端口,默认80
.connect_timeout = 1s;      #连接超时时间
.first_byte_timeout = 5s;
.between_bytes_timeout = 2s;
}
backend web2 {                     #这里是第二个源站
.host = "你的第二个源站ip";
.port = "80";
.connect_timeout = 1s;
.first_byte_timeout = 5s;
.between_bytes_timeout = 2s;
}
#acl
acl purge {
"localhost";
"127.0.0.1";
"192.168.169.0"/24;
}
sub vcl_recv {
if (req.request == "PURGE") {
if (!client.ip ~ purge)
{
error 405 "Not allowed.";
}
return(lookup);
}
if (req.http.host ~ "^google.com") {                  #web1对应的域名
set req.backend = web1;}
elseif (req.http.host ~ "^(www)|(my).baidu.com") {        #web2对应的域名
set req.backend = web2;}
else {
error 404 "Caesar's cache-server ! QQ: 189717888"; #如果域名不在以上范围的出错提示
#set req.backend = web1;
}
if (req.request != "GET" && req.request != "HEAD") {
return(pipe);
}
elseif (req.url ~ "\.(php|cgi)($|\?)")                #动态页面直接通过,不缓存
{
return(pass);
}
return(lookup);
}
sub vcl_hit {
if (req.request == "PURGE") {
set obj.ttl = 0s;
error 200 "Purged.";
}
}
sub vcl_miss {
if (req.request == "PURGE") {
error 404 "Not in cache.";
}
}

4.启动varnish
varnishd -f /etc/varnish/default.vcl -s malloc,1G -T127.0.0.1:2000
其中1G为varnish使用内存大小,根据自己情况定,一般为物理内存的三分之一大小
结束varnish命令:
pkill varnish

5.解析你的域名到varnish服务器

6.HAVE FUN !

推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上安装和配置Grafana,包括必要的依赖项安装、插件管理以及服务启动等步骤。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 本文探讨了在 OpenStack 环境中使用虚拟机部署 Ceph 集群后,外部服务器通过浮动 IP 无法访问该集群的问题,并提供了详细的解决方案。 ... [详细]
author-avatar
丽丽loveyou2002
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有