用varnish做缓存服务器
2018-01-05 20:59
113 查看
一、目的
通过配置Varnish缓存服务器,实现如下目标:
使用Varnish加速后端Apache Web服务
使用varnishadm命令管理缓存页面
使用varnishstat命令查看Varnish状态
二、方案,
服务器规划见我的另外一篇笔记:squid反向代理,通过源码编译安装Varnish缓存服务器
三、实施:主要是部署varnish缓存服务器
1、安装软件依赖包
yum -y install gcc readline-devel pcre-devel
2、创建程序的启动账户:useradd -s /sbin/nologin varnish
3、编译安装软件
tar -xf varnish-3.0.6.tar.gz //解压源码包
cd varnish-3.0.6/ //进入到解压的目录
./configure --prefix=/varnish //配置,指定安装路径为/varnish
make && make install //编译安装
4、复制启动脚本及配置文件
cp redhat/varnish.initrc /etc/init.d/varnish
cp redhat/varnish.sysconfig /etc/sysconfig/varnish
cp redhat/varnish_reload_vcl /usr/bin/
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/
ln -s /usr/local/varnish/bin/* /usr/bin
mkdir /etc/varnish
cp /usr/local/varnish/etc/varnish/default.vcl /etc/varnish/
uuidgen > /etc/varnish/secret //下面配置文件需要密码信息
VARNISH_SECRET_FILE=/etc/varnish/secret
5、修改Varnish文件
vim /etc/sysconfig/varnish
66行:VARNISH_LISTEN_PORT=80 //修改默认端口
89行:VARNISH_STORAGE_SIZE=64M //定义缓存大小,因为这里是基于内存的缓存代理,依据自身服务器的
92行:VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" //定义基于内存方式缓存
6、修改代理配置文件
vim /etc/varnish/default.vcl
backend default {
.host = "192.168.2.103";
.port = "80";
}
7、启动服务
service varnish start 注:varnish启动脚本文件有问题,在rhel6上没问题
在rhel7上有问题,当出现 Reloading systemd: [ OK ] 时,可以ctrl+c结束掉
8、测试,在客户机上测试
curl http://192.168.4.102
9、其它
varnishlog //varnish日志,直接敲命令
varnishncsa //访问日志
10、当网站更新文件后,由于在内存中的文件还在,故去访问时还是以前旧的文件,
要么等待一段时间,要么在代理服务器上手动刷新
varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 //进入后台管理缓存页面
storage.list //查看存储信息
ban.url .* // 清内存
varnishadm ban.url '.*' //非交互式清理.*代表所有的缓存页面
通过配置Varnish缓存服务器,实现如下目标:
使用Varnish加速后端Apache Web服务
使用varnishadm命令管理缓存页面
使用varnishstat命令查看Varnish状态
二、方案,
服务器规划见我的另外一篇笔记:squid反向代理,通过源码编译安装Varnish缓存服务器
三、实施:主要是部署varnish缓存服务器
1、安装软件依赖包
yum -y install gcc readline-devel pcre-devel
2、创建程序的启动账户:useradd -s /sbin/nologin varnish
3、编译安装软件
tar -xf varnish-3.0.6.tar.gz //解压源码包
cd varnish-3.0.6/ //进入到解压的目录
./configure --prefix=/varnish //配置,指定安装路径为/varnish
make && make install //编译安装
4、复制启动脚本及配置文件
cp redhat/varnish.initrc /etc/init.d/varnish
cp redhat/varnish.sysconfig /etc/sysconfig/varnish
cp redhat/varnish_reload_vcl /usr/bin/
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/
ln -s /usr/local/varnish/bin/* /usr/bin
mkdir /etc/varnish
cp /usr/local/varnish/etc/varnish/default.vcl /etc/varnish/
uuidgen > /etc/varnish/secret //下面配置文件需要密码信息
VARNISH_SECRET_FILE=/etc/varnish/secret
5、修改Varnish文件
vim /etc/sysconfig/varnish
66行:VARNISH_LISTEN_PORT=80 //修改默认端口
89行:VARNISH_STORAGE_SIZE=64M //定义缓存大小,因为这里是基于内存的缓存代理,依据自身服务器的
92行:VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" //定义基于内存方式缓存
6、修改代理配置文件
vim /etc/varnish/default.vcl
backend default {
.host = "192.168.2.103";
.port = "80";
}
7、启动服务
service varnish start 注:varnish启动脚本文件有问题,在rhel6上没问题
在rhel7上有问题,当出现 Reloading systemd: [ OK ] 时,可以ctrl+c结束掉
8、测试,在客户机上测试
curl http://192.168.4.102
9、其它
varnishlog //varnish日志,直接敲命令
varnishncsa //访问日志
10、当网站更新文件后,由于在内存中的文件还在,故去访问时还是以前旧的文件,
要么等待一段时间,要么在代理服务器上手动刷新
varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 //进入后台管理缓存页面
storage.list //查看存储信息
ban.url .* // 清内存
varnishadm ban.url '.*' //非交互式清理.*代表所有的缓存页面
相关文章推荐
- 高性能缓存服务器Varnish深入浅出部署
- varnish图片缓存服务器安装
- 高性能缓存服务器Varnish详解,Varnish架构安装配置
- Varnish安装搭建配置缓存服务器
- varnish+nginx实现单双web服务器缓存
- Varnish 安装搭建配置缓存服务器
- varnish-cache:高性能反向代理缓存服务器和http加速器
- varnish 构建缓存服务器WEB
- php实现监控varnish缓存服务器的状态
- 清理多个varnish服务器缓存的脚本
- varnish反向代理服务器:安装,缓存,负载均衡
- 高性能缓存服务器Varnish
- varnish 优秀的缓存服务器
- 高可用haproxy调度varnish服务器缓存后端动静分离集群架构
- varnish代理缓存服务器的安装与使用
- Varnish+Nginx搭建缓存服务器
- Varnish,Nginx搭建缓存服务器
- Web缓存服务器:使用Varnish代替Squid
- Linux下Varnish缓存服务器的安装与配置教程
- Varnish+Nginx实现单双Web服务器缓存