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 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了
Linux平台部署varnish 高性能缓存服务器的更多相关文章
- Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关
什么是Jexus Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,以支持ASP.NET.ASP.NET CORE.PHP为特色,同时具备反向代理.入侵检测等重要功能.可以这样说,J ...
- 一、Linux平台部署ASP.NET、ASP.NET CORE、PHP
一.什么是Jexus Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关服务器,以支持ASP.NET.ASP.NET CORE.PHP为特色,同时具备反向代理.入侵检测等重要功能.可以 ...
- 高性能缓存服务器Varnish
一.Varnish概述 Varnish是一款高性能的.开源的反向代理服务器和缓存服务器,计算机系统的除了有内存外,还有CPU的L1.L2,甚至L3级别的缓存,Varnish的设计架构就是利用操作系统的 ...
- Linux下使用Magent+Memcached缓存服务器集群部署
1.编译安装libevent cd /root/soft_hhf/ wget http://cloud.github.com/downloads/libevent/libevent/libeven ...
- Linux平台下快速搭建FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序 ...
- Linux平台部署.Net Core SDK
根据微软MSDN,.Net Core无论是1.x还是2.0都只支持64位系统. 准备 以下是.NetCore支持的系统版本 以下 Linux 64 位(x86_64 或 amd64)发行版本/版本支持 ...
- varnish代理缓存服务器的安装与使用
1. 下载解压 cd /usr/local/src/ wget https://codeload.github.com/varnishcache/varnish-cache/zip/master ch ...
- 1 Linux平台下快速搭建FTP服务器 win7下如何建立ftp服务器
百度经验连接(亲测可用) http://jingyan.baidu.com/article/380abd0a77ae041d90192cf4.html win7下如何建立ftp服务器 http://j ...
- Varnish http缓存服务器
http://blog.51cto.com/hexiaoshuai/1909183 https://jefferywang.gitbooks.io/varnish_4_1_doc_zh/content ...
随机推荐
- 发布 windows 10 universal app 时微软账号验证失败
具体错误:Visual Studio encountered an unexpected network error and can't contact the Microsoft account s ...
- UVa 1328 (KMP求字符串周期) Period
当初学KMP的时候也做过这道题,现在看来还是刘汝佳的代码要精简一些,毕竟代码越短越好记,越不容易出错. 而且KMP的递推失配函数的代码风格和后面的Aho-Corasick自动机求失配函数的代码风格也是 ...
- css,html命名规则
css,html命名规则 页头: header 登录条: loginBar 标志: logo 侧栏: sideBar 广告: banner 导航: nav 子导航: subNav 菜单: menu 子 ...
- UVa 699 The Falling Leaves
题意:给出按先序输入的一颗二叉树,分别求出从左到右的相同横坐标上的节点的权值之和 递归建树,然后用sum数组分别统计每一个横坐标上的权值之和 感觉建树都在递归递归递归= =慢慢理解吧 #include ...
- facebook海量图片存储系统与淘宝TFS系统比较
本篇论文的原文可谓通俗易懂.行云流水.结构清晰.图文并茂……正如作者所说的——"替换Facebook的图片存储系统就像高速公路上给汽车换轮子,我们无法去追求完美的设计……我们花费了很多的注意 ...
- 四种途径将HTML5 web应用变成android应用
作为下一代的网页语言,HTML5拥有很多让人期待已久的新特性.HTML5的优势之一在于能够实现跨平台游戏编码移植,现在已经有很多公司在移动 设备上使用HTML5技术.随着HTML5跨平台支持的不断增强 ...
- 对于随机变量的标准差standard deviation、样本标准差sample standard deviation、标准误差standard error的解释
参考:http://blog.csdn.net/ysuncn/article/details/1749729
- Java [leetcode 7] Reverse Integer
问题描述: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Ha ...
- 一、oracle 高水位线详解
一.什么是水线(High Water Mark)? 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称 ...
- 在英文 sql2005中 比较nvarchar 与 varchar的速度
declare @str1 varchar(max); declare @count int; ; print 'begin' begin set @str1 = @str1 + '*'; ; end ...