扬州城市论坛 百科 Linux服务器反向代理软件varnish安装、配置和监控教程

Linux服务器反向代理软件varnish安装、配置和监控教程

二、配置文件

1.配置Varnish启动和运行参数,如指定相应的执行脚本,即vcl文件。

清漆管理端口,默认为6082,可改为自定义端口,如2000。

清漆_管理_监听_端口=2000

监控端口默认为8080,但一般改为80。

VARNISH_LISTEN_PORT=80

指定缓存文件存储路径

清漆_存储_文件=/var/lib/清漆/清漆_存储. bin

缓存文件varnish_storage.bin在32位操作系统下最多只能支持2G。

如果需要更大的缓存文件,需要安装64 linux操作系统。

2.配置varnish作为服务运行。

3.0以上版本是安装varnish后自动配置的,也就是可以直接使用service varnish start命令执行。

对于3.0以下的版本,需要手动配置相应的配置文件。

1)在相应版本的安装包下找到varnish.initr文件,例如

丙:/./varnish-3 . 0 . 1/red hat/varnish-3 . 0 . 1/red hat/varnish . initrc

2)更改varnish.initrc中的配置项,主要执行参数。

3)如果参数是默认配置形式etc/sysconfig/varnish,则步骤2)可以省略。

4)将varnish.initrc重命名为varnish

5)将清漆复制到/etc/rc.d/init.d/

6)将执行权限chmod 700/etc/RC . d/init . d/varnish分配给Varnish。

7) chkconfig -添加清漆

三。检查上光液的运行状态

ps -aux|grep varnishd

正常结果如下

也可以通过top |grep varnishd查看。

四。检查清漆日志

1.使用varnishlog命令查看日志,并且可以添加一些参数。具体可以通过-h获取参数描述。

如varnishlog -i txurl命令,查看哪些url会导致源返回。

2.将日志保存到文件中。

varnishncsa命令是必需的,例如

varnishncsa-w/var/lib/varnish/varnish . log将varnishlog保存在文件中。

文件格式为文本格式,方便查看。

动词(verb的缩写)检查清漆缓存

1.通过varnishstat检查当前和自启动以来的请求和缓存命中。

数据的含义:

第一行显示了自启动以来清漆已经运行了多长时间。上图显示的是45天零小时11分27秒。

第二行显示的是开始这个命令的时间,三个数字最终会变成10,100,1000;它们分别代表10秒、100秒和1000秒。

第三行显示命中率,物体上方时间,10秒内命中率,100秒内命中率,1000秒内命中率。

从第四行开始,以下数据分为四列。

第一列是总值,第二列是每秒的值,第三列是从命令开始以来的平均值(varnishstat),第四列是描述。

一些比较重要的是

接受的客户端:表示客户端成功发送到反向代理服务器的HTTP请求总数。

接收的客户端请求:表示到目前为止浏览器向反向代理服务器发送的HTTP请求的累计数量。由于可能使用长连接,该值通常会大于接受的客户端连接。

Cache-hit:表示缓存命中的次数。

未命中:表示未命中的次数。

Worker threads:表示当前工作线程的数量。

过期对象:表示过期对象的数量。

LRU nuked objects:表示为了通过高速缓存的可用内存联机而必须删除的对象数。

LRU移动的对象:代表其LRU策略已被移动的对象数。

总头字节数:表示缓存的请求头对象的大小。

总字节数:表示缓存的请求正文对象的大小。

命中率公式:收到的缓存命中/客户端请求

2.如果每次检查varnish当前缓存状态都要登录服务器,那就有点麻烦了。

你可以用php(其他语言)写一个程序,远程查看。

该代码可以引用以下内容。3.0以下版本可以通过Socket连接到Varnish管理端口,通过stat命令查看。3.0以上没有stat命令,只能用以下方法解决。

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

$ outfile=shell _ exec('/usr/bin/varnish stat-x ');

$ XML=SimpleXML _ load _ string($ outfile);

echo $xml-getName()。br/'

foreach($ XML-children()as $ child)

{

//$ tmpName=“”;

foreach($ child-children()as $ sub child)

{

if ($subChild-getName()=='name ')

{

$ tmpName=$ subChild

}

else if($ sub child-getName()==' value ')

{

if ($tmpName!='')

{

$ arys[' $ tmpName ']=$ sub child;

$ tmpName=

}

}

其他

{

继续;

}

}

}

函数字节减少(字节)

{

如果(字节数1099511627776)

{

返回回合($bytes/1099511627776).TB’;

}

else if($字节1073741824)

{

返回回合($bytes/1073741824).GB’;

}

else if ($bytes1048576)

{

返回舍入值($bytes/1048576).MB '

}

else if ($bytes1024)

{

返回舍入值(字节/1024)。KB '

}

其他

{

返回$字节. b '

}

}

echo 'client_conn:'$arys['client_conn'].br/'

echo 'client_req:'$arys['client_req'].br/'

回显缓存命中.$arys['cache_hit'].br/'

回显缓存未命中.$arys['cache_miss'].br/'

"回显"缓存命中率:""。round(($ arys[' cache _ hit ']/$ arys[' client _ req '])* 100)." % br/";

回声“LRU核爆物体:"。$arys[n_lru_nuked].br/'

回显""。byter reduce($ arys[' s _ body bytes ']$ arys[' s _ HDR bytes ']).接受(accept的缩写)内容('byteReduce($arys['s_hdrbytes']).标题字节减少($ arys[' s _ body bytes ']).正文)'

页面效果如

当然为了查看实时情况,可以在这监控页加个超文本标记语言定时刷新

若已经部署了专业的监控工具如中航,则可以通过配置,在中航技中查看光泽面运行状态

3.0以上版本,需要一个服务器端编程语言(专业超文本预处理器的缩写)页面输出结果echo shell _ exec('/usr/bin/varnishstat-x ');然后中航技中配置下即可

本文来自网络,不代表本站立场,转载请注明出处:https://baike.yzcslt.com/n/a1967.html

Linux服务器反向代理软件varnish安装、配置和监控教程

扬州城市论坛后续将为您提供丰富、全面的关于Linux服务器反向代理软件varnish安装、配置和监控教程内容,让您第一时间了解到关于Linux服务器反向代理软件varnish安装、配置和监控教程的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。