varnish反向代理安装与配置

主机环境: rhel6 selinux and iptables disabled
实验主机: 192.168.2.36 varnish
192.168.2.46 apache
192.168.2.38 apache
框架图:

VCL 处理流程图:

处理过程大致分为如下几个步骤:
(1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或
Pipe,或者进入 Lookup(本地查询)。
(2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进
入 miss 状态。
(3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。
(4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地
的存储。
(5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。

1. 安装
http://repo.varnish-cache.org/redhat/varnish-3.0/el6/x86_64/
rpm -ivh varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
2. 配置
# vi /etc/varnish/default.vcl
###配置一个后端服务器
backend web1 {
.host = "192.168.0.188";
.port = "80";
}
###配置 varnish 服务端口
# vi /etc/sysconfig/varnish
VARNISH_LISTEN_PORT=80
###查看缓存命中情况
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT from westos cache";
}
else {
set resp.http.X-Cache = "MISS from westos cache";
}
return (deliver);
}
# service varnish start

在desktop46上安装httpd 并启动

#curl -I 192.168.2.36

未命中

#curl -I 192.168.2.36

命中

###通过 varnishadm 手动清除缓存
# varnishadm ban.url .*$ #清除所有
# varnishadm ban.url /index.html #清除 index.html 页面缓存
# varnishadm ban.url /admin/$ #清除 admin 目录缓存
###定义多个不同域名站点的后端服务器

#当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,
访问其他页面报错。

#service varnish reload

###定义负载均衡
#定义健康检查

#/etc/init.d/varnish reload

在desktop38上配置虚拟主机名vim /etc/httpd/conf/httpd.conf

在desktop38的/var/www/下创建web2目录在里面写一个测试文件

#/etc/init.d/httpd restart

然后测试:

###varnish cdn 推送平台
http://code.google.com/p/varnish-php-bansys/
把这个解压到 desktop36 的/var/www/html/

然后编辑config.php

#只保留如下设置,其余注释掉

#编辑desktop36的httpd配置文件

#vim /etc/init.d/httpd/conf/httpd.conf

把监听端口改为 8080 不然就和varnish的端口起冲突

推送模式是http的话对varnish做如下配置:

#/etc/init.d/varnish reload

然后在firefox上测试:

OK!!

varnish反向代理安装与配置

时间: 2024-10-03 03:22:10

varnish反向代理安装与配置的相关文章

nginx 反向代理apache服务器 配置java与PHP共存环境

listen 80; listen 443; ssl on; ssl_certificate /passport.crt; ssl_certificate_key /passport.key; ssl_session_timeout 5m; server_name localhost; index index.html index.htm index.php; root /www/; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/ph

Centos7之Nginx反向代理安装

Centos7之Nginx反向代理安装   安装编译工具 yuminstall jemalloc jemalloc-devel -y 或者 yumgroupinstall "Development Tools" "Server PlatformDeveopment" 建立nginx程序用户 groupadd-r www useradd-r -g www www -c "Web user" -d /dev/null -s /sbin/nologin

Varnish缓存代理简介与配置

一.varnish原理: 1)Varnish简介: varnish缓存是web应用加速器,同时也作为http反向缓存代理.你可以安装varnish在任何http的前端,同时配置它缓存内容.与传统的 squid 相比,varnish 具有性能更高.速度更快.管理更加方便等诸多优点.有一部分企业已经在生产环境中使用其作为旧版本的squid的替代方案,以在相同的服务器成本下提供更好的缓存效果,Varnish更是作为CDN缓存服务器的可选服务之一. 根据官网的介绍,Varnish的主要特性如下:http

Varnish反向代理缓存服务器

缓存及加速 高性能缓存服务器1.1 Varnish概述一款高性能.开源的反向代理服务器和缓存服务器(一台varnish可以抵6台Squid)Varnish使用内存做为缓存设备(纯内存缓存服务器方案),相对于Squid(采用硬盘缓存),拥有更快的缓存速度(varnish内存管理完全交给内核,但当缓存内容超过阈值时,内核会自动将一部分缓存存入swap中,让出内存) 1.Varnish进程 varnish主要运行两个进程:Management 进程和Child进程(也称为Cache进程)Managem

Nginx反向代理讲解和配置

首先来介绍下Nginx的反向代理.代理服务器一般分为正向代理(通常直接称为代理服务器)和反向代理. 画个图我们就好理解了. 正向代理:可以想象成是路由器,我们要通过它来上网的那种.(可以说是客户端的代理) 反向代理:客户端的请求过来之后交给反向代理服务器,然后反向代理服务器再交给后台真实的服务器.(这个是服务器端的代理) 我们今天说的是nginx的反向代理功能的实现.同时,反向代理还可以实现负载均衡的功能.可以自己思考下. 由于实验比较简单,这边环境就简单处理. http-server1:192

nginx反向代理原理和配置讲解

最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡.所以搜罗了一些关于反向代理服务器的内容,整理综合. 一  概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接

Centos7.4 Nginx反向代理+负载均衡配置

Ningx是一款高性能的HTTP和反向代理服务器,配置起来也比较简单. 测试环境: 172.16.65.190 Nginx-反向代理 172.16.65.191 Ningx-Web 172.16.65.192 Nginx-Web 在三台Server安装Nginx: # yum install -y nginx 在172.16.65.190配置Nginx反向代理+负载均衡: # vim /etc/nginx/nginx.conf user nginx; worker_processes auto;

Nginx的反向代理 负载均衡 配置

在ubuntu下安装Nginx: sudo apt install nginx nginx的配置文件有两个: /etc/nginx/nginx.conf /etc/nginx/sites-enabled/default 在server块中增加配置,设置反向代理: server{ listen 9001; server_name 127.0.0.1; location ~ /edu/ { proxy_pass http://127.0.0.1:8080; } location ~ /vod/ {

配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机

一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; include /etc/nginx/upstream.conf; 2.在/etc/nginx/目录下新建 upstream.conf文件 vim upstream.conf upstream dev.test1.com { server 127.0.0.1(换成虚拟机ip):8080 weigh