Varnish安裝配置
1、安裝前的環境準備
主機名 IP地址
Varnish-server eth0 172.16.23.1 橋接方式 eth1 192.168.23.111 僅主機
Web-server1 192.168.23.11 僅主機
Web-server2 192.168.23.12 僅主機
Web-server1 與 Web-server2 網關都指向 192.168.23.111
vnet1 ip地址是192.168.23.77/24
2、下載varnish軟件及安裝
Varnish的官方站點爲http://varnish-cache.org,
varnish-3.0.2-1.el5.i386.rpm varnish-libs-3.0.2-1.el5.i386.rpm
rpm -ivh varnish-3.0.2-1.el5.i386.rpm varnish-libs-3.0.2-1.el5.i386.rpm
3、編緝配置文件/etc/sysconfig/varnish [內存作緩存,真實應用中安裝64位操作系統,給2G內存作爲緩存,也不能太大]
vim /etc/sysconfig/varnish
VARNISH_STORAGE_SIZE=64m //設置內存作緩存大小的空間
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" //使用內存作緩存
4、編緝/etc/varnish/default.vcl 服務配置
backend default {
.host = "127.0.0.1";
.port = "80";
} //默認把本機服務器作爲後端服務器
把修改爲:
backend default {
.host = "192.168.23.11";
.port = "80";
}
5、在瀏覽器中查看
http://172.16.23.1:6081
curl -I http://172.16.23.1:6081
via: 1.1 varnish 從varnish獲得的數據
6、修改/etc/varnish/default.vcl 文件,varnish實現後端服務器負載均衡
backend server1 {
.host = "192.168.23.11";
.port = "80";
}
backend server2 {
.host = "192.168.23.12";
.port = "80";
}
director myload random {
{
.backend = server1;
.weight = 3;
}
{
.backend = server2;
.weight = 1;
}
}
sub vcl_recv {
set req.backend = myload;
}
myload作爲vcl_recv處理機制響應用戶請求的客戶端
在瀏覽器查看 http://172.16.23.1:6081
7、可修改爲如下,.probe是後端服務器狀態檢測的一些參數值
backend server1 {
.host = "server1.example.com";
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
backend server2 {
.host = "server2.example.com";
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1 s;
.window = 5;
.threshold = 3;
}
}
.probe作爲狀態檢測 url 作爲根,interval每隔多長時間檢查一次。timeout檢查超時時間,window滑動窗口5次,threshold如果window只剩三個格式,就可能報告狀態有問題
8、雜項:
varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret
help
ping
status
stop 停步線程
start 啓動線程
param.set 設定線程池
如果想連進來,不用指-S /etc/varnish/secrt 可編緝配置文件/etc/varnish/default.vcl
把DAEMON_OPTS ..... -S ${VARNISH_SECRET_FILE}
varnishadm -T 127.0.0.1:6082就可直接連進來,不需要認證,但不安全
telnet 127.0.0.1:6082
可遠程連接
service varnishlog start //是數據文件格式data,/var/log/varnish
service varnishncsa start //是文本文件格式 /var/log/varnish 剛看時可能沒數據,訪問下就行數據