Linux平台部署varnish 高性能缓存服务器(1)

【本文档所介绍的内容适用于公司测试/生产常见的varnish环境部署】

一:varnish部署前准备:

1.1相关软件以及系统,web服务

系统要求:Centos 6(以上) (64位)

相关中间件:varnish-4.0.2

1.2相关系统依赖包安装检查准备

1.2.1 检查系统自带nginx是否安装

rpm -qa | grep varnish

如有安装,请使用以下命令卸载相关程序

yum remove varnish -y

1.2.2 安装编译nginx需要的依赖包

 yum install libtool ncurses-devel pcre-devel ibedit-devel pkgconfig python-docutils python-sphinx automake autoconf  -y

1.2.3 安装好相关web服务

 安装Apache,nginx,tomcat等都行,本文档的web安装在本地,使用的nginx web 端口为:8080

二:varnish 部署安装

2.1 下载varnish安装包

如有所示为varnish的官网:https://www.varnish-cache.org/releases,选择对应的varnish版本,本文档用的版本是varnish4.0.2

cd /usr/local/src
wget https://repo.varnish-cache.org/source/varnish-4.0.2.tar.gz

2.2 编译安装varnish

cd /usr/local/src
tar zxvf varnish-4.0.2.tar.gz
./configure CPPFLAGS="-I$PATH_TO_LIBEDIT/include" LDFLAGS="-L$PATH_TO_LIBEDIT/lib" --prefix=/usr/local/varnish4.0.2 
make && make install

2.3 配置varnish的启动脚本

echo "/usr/local/varnish4.0.2/sbin/varnishd -P /var/run/varnish.pid -f /usr/local/varnish4.0.2/etc/default.vcl -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:80" > /usr/local/varnish4.0.2/sbin/varnishd.sh

2.4 将varnish以开机服务的形式启动,并加入系统服务

2.4.1 编辑/etc/init.d/varnishd

vim /etc/init.d/varnishd

2.4.2 在/etc/init.d/varnishd添加以下内容

#!/bin/sh
#chkconfig:345 85 15 
#description: varnish cache server
# varnish
# Copyright (C) 2001-2014 varnish cache
#
SERVICE="varnish server"
DAEMON=/usr/local/varnish4.0.2/sbin/varnishd.sh
PIDFILE=/var/run/varnish.pid

case $1 in
  ‘start‘)
    if [ -x ${DAEMON} ]
    then
      $DAEMON
      # Error checking here would be good...
      echo "${SERVICE} started success ! "
    else
      echo "Can‘t find file ${DAEMON}."
      echo "${SERVICE} NOT started."
    fi
  ;;
  ‘stop‘)
    if [ -s ${PIDFILE} ]
    then
      if kill `cat ${PIDFILE}` >/dev/null 2>&1
      then
        echo "${SERVICE} shutdown success !"
        rm -f ${PIDFILE}
      fi
    fi
  ;;
  ‘restart‘)
    $0 stop
    sleep 10
    $0 start
  ;;
  *)
    echo "Usage: $0 start|stop|restart"
    ;;
esac

2.4.3 编辑/usr/local/varnish4.0.2/etc/default.vcl添加以下内容

vcl 4.0;
backend webserver {
    .host = "127.0.0.1";
    .port = "8080";         //等同于后端web server
    .connect_timeout = 4s;  
    .first_byte_timeout = 5s;  
    .between_bytes_timeout = 20s;  
}

2.4.4启动varnishd 服务

service varnishd start

三:varnish验证测试

启动web服务

service nginx start

使用系统自带的命令curl -I localhost 如下所示:

HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Mon, 04 Jan 2016 07:50:09 GMT
Content-Type: text/html
Last-Modified: Mon, 31 Aug 2015 03:55:55 GMT
ETag: "55e3d04b-264"
X-Varnish: 112 131182
Age: 80
Via: 1.1 varnish-v4
Content-Length: 612
Connection: keep-alive

本文如上红色部分,当X-varnish 后面出现两组数据的时候,说明缓存成功,这时我们在关掉web服务,数据会从varnish缓存里读取,如下

关闭web服务

service nginx stop

重新curl -I localhost 如果命中缓存,则如下所示:

HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Mon, 04 Jan 2016 07:53:47 GMT
Content-Type: text/html
Last-Modified: Mon, 31 Aug 2015 03:55:55 GMT
ETag: "55e3d04b-264"
X-Varnish: 110 131182
Age: 8
Via: 1.1 varnish-v4
Content-Length: 612
Connection: keep-alive

当没有从缓存里命中时,会出现以下提示(没有命中缓存,则X-varnish后面数字为单组数字):

HTTP/1.1 503 Backend fetch failed
Date: Mon, 04 Jan 2016 07:55:59 GMT
Server: Varnish
Content-Type: text/html; charset=utf-8
Retry-After: 5
X-Varnish: 98457
Age: 0
Via: 1.1 varnish-v4
Content-Length: 282
Connection: keep-alive

至此整个varnish的部署安装基本就OK了

时间: 2024-10-16 16:37:40

Linux平台部署varnish 高性能缓存服务器(1)的相关文章

Linux平台部署varnish 高性能缓存服务器

一:varnish部署前准备: 1.1相关软件以及系统,web服务 系统要求:Centos 6(以上) (64位) 相关中间件:varnish-4.0.2 1.2相关系统依赖包安装检查准备 1.2.1 检查系统自带nginx是否安装 rpm -qa | grep varnish 如有安装,请使用以下命令卸载相关程序 yum remove varnish -y 1.2.2 安装编译nginx需要的依赖包  yum install libtool ncurses-devel pcre-devel i

Varnish高性能缓存服务器

一.Varnish概述 一款高性能.开源的HTTP反向代理服务器和缓存服务器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. Varnish使用内存做为缓存设备(纯内存缓存服务器方案),相对于Squid(采用硬盘缓存),拥有更快的缓存速度(varnish内存管理完全交给内核,但当缓存内容超过阈值时,内核会自动将一部分缓存存入swap中,让出内存) 1.Varnish进程 Varnish与一般服务器软件类似,分为master(ma

一、Linux平台部署ASP.NET、ASP.NET CORE、PHP

一.什么是Jexus Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关服务器,以支持ASP.NET.ASP.NET CORE.PHP为特色,同时具备反向代理.入侵检测等重要功能.可以这样说,Jexus是.NET..NET CORE跨平台的最优秀的宿主服务器,如果我们认为它是Linux平台的IIS,这并不为过,因为,Jexus不但非常快,而且拥有IIS和其它Web服务器所不具备的高度的安全性.同时,Jexus Web Server 是完全由中国人自主开发的的国产软件,真正做到了“

高性能缓存服务器Varnish架构配置

Varnish跟Squid都是一款内容加速缓存服务器,我们可以使用它们来对我们的网页内容进行缓存,以此来从某个方面提高用户体验度,提升网站整体的抗压能力. 目前自建的CDN中,有很多都是基于Squid.Varnish等相关缓存软件,经过内部的二次开发实现了更好的内容加速及管理. 那今天我们一起来学习一下Varnish简单的搭建及日常的维护,深入的东西后期分享,跟大家一起来交流.这里直接上Shell脚本自动初始化并安装: #!/bin/sh #auto install varnish #2014-

Linux平台部署nginx反向代理实例

nginx有着优秀的代理性能,很多情况下,nginx常常被充当反向代理服务器负载后端应用web构建起一个高性能高可用的web集群(淘宝tengix ,京东的nginx集群都使用到了nginx反向代理功能),接下来给大家讲解Linux平台部署nginx反向代理实例. [本文档所介绍的内容适用于公司测试/生产等常见的nginx反向代理应用] 1. nginx环境部署前准备: 1.1相关软件以及系统 系统要求:Centos 6.0以上 (64位) 相关中间件:Nginx: 1.6.0 以上(包含1.6

用varnish做缓存服务器

一.目的 通过配置Varnish缓存服务器,实现如下目标: 使用Varnish加速后端Apache Web服务 使用varnishadm命令管理缓存页面 使用varnishstat命令查看Varnish状态 二.方案, 服务器规划见我的另外一篇笔记:squid反向代理,通过源码编译安装Varnish缓存服务器 三.实施:主要是部署varnish缓存服务器 1.安装软件依赖包 yum -y install gcc readline-devel pcre-devel 2.创建程序的启动账户:user

Linux平台下快速搭建FTP服务器

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload). 一般在各种linux的发行版中,默认带有的ftp软件是vs

varnish代理缓存服务器的安装与使用

1. 下载解压 cd /usr/local/src/ wget https://codeload.github.com/varnishcache/varnish-cache/zip/master chmod 775 varnish-cache-master.zip unzip varnish-cache-master.zip varnish-cache-master.zip 2. 安装 cd varnish-cache-master chmod -R 755 * yum install auto

Varnish代理缓存服务器

源码安装 [[email protected] ~]# vim /usr/local/etc/default.vcl backend default { .host = "192.168.2.100"; .port = "80"; } 启动服务 [[email protected] ~]# varnishd -f /usr/local/etc/default.vcl 原文地址:https://www.cnblogs.com/fanever/p/10683996.ht