首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
cron
port
linux
7层
apache
unix
zsh
kubectl
vagrant
运维
jenkins
路由器
sftp
crontab
debian
stdout
sudo
负载均衡
touch
server
shell
log4j
service
ftp
centos7
grep
ssh
压力测试
curl
colors
容器
k8s
docker
fabric
4层
tengine
centos
syslog
ubuntu
nginx
tomcat
dns
服务器
awk
grafana
交换机
当前位置:
开发笔记
>
运维
> 正文
CentOS5.5下varnish的配置
作者:多米音乐_35692689 | 来源:互联网 | 2014-05-28 12:03
1.系统更新yumupdate2.安装ncurses(主要是用于安装varnishstat等几个命令用)Yum-yinstallncurses-devel3.安装所需软件pcre./configure--prefix/usr/local/pcreMakeMakeinstall4.安装telnettelnet-serve
1.系统更新
yum update
2.安装ncurses(主要是用于安装varnishstat等几个命令用)
Yum -y install ncurses-devel
3.安装所需软件pcre
./configure --prefix=/usr/local/pcre
Make
Make install
4.安装telnet telnet-server (在管理控制varnish时需要用到起)
Yum -y install telnet-server
5.创建www用户和组,以及vasrnish缓存文件存放目录
6.创建varnish日志目录
Mkdir -p /var/log/varnish
Chmod +w /var/log/varnish
Chown -R www:www /var/log/varnish
7.编译安装varnish
Cd /usr/local/src
tar -xvzf varnish-2.1.2.tar.gz
cd varnish-2.1.2
export PKG_CONFIG_PATH=/usr/local/pcre/lib/pkgconfig
./configure -prefix=/usr/local/varnish
Make &&make install
8.创建varnish配置文件
Vi /usr/local/varnish/vcl.conf
backend rzmsserver {
.host = "192.168.1.27";
.port = "80";
.probe = {
.timeout = 50 ms;
.interval = 5s;
.window = 10;
.threshold = 8;
.request =
"GET /UserLogin.aspx HTTP/1.1"
"Host: 192.168.1.27"
"Connection: close"
"Accept-Encoding: foo/bar" ;
}
}
acl purge {
“localhost”;
“127.0.0.1”;
"192.168.1.27"/24;
}
sub vcl_recv {
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Not allowed.";
}
return(lookup);
}
if (req.http.host ~ "^192.168.1.27") {
set req.backend = rzmsserver;
if (req.request != "GET" && req.request != "HEAD") {
return(pipe);
}
else {
return(lookup);
}
}
else {
error 404 "rzms Cache Server";
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.";
}
}
sub vcl_fetch {
if (req.request == "GET" && req.url ~ "\.(txt|js)$") {
set beresp.ttl = 3600s;
}
else {
set beresp.ttl = 30d;
}
}
说明:
(1)、Varnish通过
反向代理
请求后端IP为192.168.0.5,端口为80的web服务器;
(2)、Varnish允许localhost、127.0.0.1、192.168.0.***三个来源IP通过PURGE方法清除缓存;
(3)、Varnish对域名为192.168.1.27的请求进行处理,非192.168.1.27域名的请求则返回“rzms Cache Server”;
(4)、Varnish对HTTP协议中的GET、HEAD请求进行缓存,对POST请求透过,让其直接访问后端Web服务器。之所以这样配置,是因为POST请求一般是发送数据给服务器的,需要服务器接收、处理,所以不缓存;
(5)、Varnish对以.txt和.js结尾的URL缓存时间设置1小时,对其他的URL缓存时间设置为30天。
9.启动Varnish
ulimit -SHn 51200
/usr/local/varnish/sbin/varnishd -n /var/vcache -f/ usr/local/varnish/default.vcl -a 0.0.0.0:80 -s file,/var/vcache/varnish_cache.data,1024m -p user=www -p group=www -w 30000,51200,10 -T 127.0.0.1:3500 (-p client_http11=on)未使用
说明:
-f 指定配置文件启动
-a 监听本机的网卡的80端口
-T 指定本机的varnish管理端口
-s file 指定varnish缓存文件的位置以及大小
-w 指处理的最小请求数、最大请求数、超时时间
-g 组名
-u 用户名
-p client_http11=on 支持http1.1协议
-P(大P) /usr/local/varnish/var/varnish.pid 指定其进程码文件的位置,实现管理。
10.varnishncsa用来将Varnish访问日志写入日志文件
/usr/local/varnish/bin/varnishncsa -n /var/vcache -w /var/logs/varnish/varnish.log &
11.通过 Varnish 管理端口?行管理(用 -help查看可用的指令)
/usr/local/varnish/varnishadm -T 127.0.0.1:3500 help
(1) 例如:清除具体URL地址:
/usr/local/varnish/bin/varnishadm -T 127.0.0.1:3500 url.purge /a/
(2) 例如:清除具体URL地址:
/usr/local/varnish/bin/varnishadm -T 127.0.0.1:3500 url.purge w*$
(3) 例如:清除所有缓存:
/usr/local/varnish-2.1/bin/varnishadm -T 127.0.0.1:3500 url.purge *$
12.通过varnishstat监控varnish状态
/usr/local/varnish/bin/varnishstat -n var/vcache
服务器
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
unix
深入探讨DB2数据库性能优化策略
本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ...
[详细]
蜡笔小新 2024-12-28 13:22:19
ssh
Docker的安全基准
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2024-12-28 13:00:24
server
PHP检测AJAX请求的有效方法
本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ...
[详细]
蜡笔小新 2024-12-27 21:20:10
service
新浪笔试题
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
ftp
路由器配置与网络地址转换
本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ...
[详细]
蜡笔小新 2024-12-27 18:25:35
ftp
深入理解Cookie与Session会话管理
本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ...
[详细]
蜡笔小新 2024-12-27 18:20:43
ftp
创建第一个 MUI 移动应用项目
本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ...
[详细]
蜡笔小新 2024-12-27 18:11:37
server
深入理解 SQL 视图、存储过程与事务
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
server
梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ...
[详细]
蜡笔小新 2024-12-27 17:20:47
server
RESTful API 与传统接口的主要区别
本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ...
[详细]
蜡笔小新 2024-12-27 15:33:42
service
Java面试题解析
本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ...
[详细]
蜡笔小新 2024-12-27 13:55:14
service
如何配置Unturned服务器及其消息设置
本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ...
[详细]
蜡笔小新 2024-12-27 13:47:38
service
网络攻防实战:从HTTP到HTTPS的演变
本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ...
[详细]
蜡笔小新 2024-12-27 11:34:50
port
MQTT技术周报:硬件连接与协议解析
本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ...
[详细]
蜡笔小新 2024-12-27 11:30:44
ftp
UNP 第9章:主机名与地址转换
本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ...
[详细]
蜡笔小新 2024-12-27 11:26:39
多米音乐_35692689
这个家伙很懒,什么也没留下!
Tags | 热门标签
cron
port
linux
7层
apache
unix
zsh
kubectl
vagrant
运维
jenkins
路由器
sftp
crontab
debian
stdout
sudo
负载均衡
touch
server
shell
log4j
service
ftp
centos7
grep
ssh
压力测试
curl
colors
RankList | 热门文章
1
实现linux与windows文件互传以及复制粘贴文字解决方案
2
复制 Amazon EBS 快照
3
你拿苹果技术顾问怎么办?
4
查看服务器打开了哪些文件
5
乱序输密码 复制粘贴密码 双系统真能避免盗号吗?
6
打印机 Fax 所需的驱动程序 Microsoft Shared Fax Driver 未知
7
募捐:请帮助一名 Linux 程序员的女儿
8
[新] 入手树莓派后要做的一些事
9
如何告别半途而废——韦东山嵌入式Linux视频学习笔记00
10
电子商务成破局良方 IT服务商力助中小企
11
数人云王璞畅谈中美容器的融合与变革
12
运维的各个阶段
13
飞书、钉钉、腾讯会议上架麒麟软件商店,麒麟V10生态更丰富
14
apache2: bad user name ${APACHE_RUN_USER} 解决
15
什么未来(预计2020中考分数线)
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有