1 安裝軟件
rpm ivh varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
使用yum解決依賴性安裝所需要的軟件
2 軟件配置
vim /etc/sysconfig/varnish
配置varnish所使用的端口(修改爲80端口) 允許打開的最大文件數 默認保存緩存的位置 緩存保存期限等配置
使用ulimt 查看內核規定的參數
yum安裝man命令
內核級別單數一般不進行修改
修改系統級別的參數滿足varnish即可
vim /etc/security/limits.conf
可以根據varnish所創建的varnish用戶來設定參數
最大打開文件數 內存使用等
作爲緩存信息的服務需要指定緩存來源
vim /etc/security/limits.conf
修改以下配置文件
#######
web1 >>>>> varish所緩存的第一臺服務器 指定地址即可 web2同理
director bobo round-robin >>>>> 爲負載均衡器 是爲了在服務器宕機或者其他錯誤是繼續執行緩存服務 在此指定兩臺擁有相同信息的服務器(此處兩臺主機ip不同 以達到varish不間斷運行)
sub vcl_recv >>>>>>>> 接受客戶端信息匹配緩存或者向後請求數據 根據輸入匹配 此處設定 www.bobo.org與bobo.org保存爲同一信息 當匹配成功 訪問負載均衡器 bobo 來確定是否有一臺主機正常運作 只要有一臺就可以工作 此處爲了實驗效果不緩存數據
實際使用時即使主機宕機也會輸出緩存 因爲只有緩存到期纔會向主機請求數據
sub vcl_deliver >>>>>> 查看請求是否爲第一次 並可以有 curl 命令看到結果
##########
主機1與主機3保存有相同數據 主機三通過虛擬主機保存多份數據作爲備用
虛擬主機配置如下
NameVirtualHost *:80 》》》》》》》》》》》》》》 注意打開虛擬主機功能時http開啓相應服務
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
DocumentRoot /var/www/html/www1
ServerName bbs.bobo.org
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName www.bobo.org
</VirtualHost>
運行結果
可以看到相同的數據由不同的服務器提供
可以看到第varnish緩存了不同的數據