高性能HTTP加速器Varnish——安装与搭建

  • 1. 安装varnish服务
  • 2. 配置Varnish服务器
  • 3. 配置后端服务器
  • 4. 测试


1. 安装varnish服务

此处我使用一个虚拟机server1作为varnish代理服务器

首先需要获取varnish的安装包,可以在官网上下载。安装varnish还需要一个解决依赖性的安装包jemalloc-3.6.0-1.el7.x86_64.rpm,这个安装包可以在pkgs.org网站中获取下载。

whysless加速器 linux_后端服务

step1 安装:

yum install jemalloc-3.6.0-1.el7.x86_64.rpm varnish-6.3.2-1.el7.x86_64.rpm -y

step2 查看varnish的配置文件:

rpm -qc varnish-6.3.2-1.el7.x86_64

whysless加速器 linux_后端服务_02

step3 配置Varnish使其性能最优

#查看参数(对系统的要求)
vim /usr/lib/systemd/system/varnish.service

whysless加速器 linux_whysless加速器 linux_03


知道Varnish对系统的要求后,我们查看本机的参数:

#查看系统允许开启文件的最大个数
sysctl -a | grep file

whysless加速器 linux_后端服务_04

可以看到,本机的允许开启文件最大个数不能满足Varnish的要求,这是因为内存所限制,接下来我们需要修改本机的参数

在虚拟机设置界面设置内存大小:

(先关机之后才可以设置)

whysless加速器 linux_whysless加速器 linux_05


再次查看,可以满足了:

whysless加速器 linux_安装包_06

最大开启文件数已经满足,接下来修改系统对varnish进程的限制:

/etc/security/limits.conf是系统参数限制文件

写入限制信息:

vim /etc/security/limits.conf 

 62 varnish          -       nofile          131072
 63 varnish          -       memlock         82000

whysless加速器 linux_vim_07

2. 配置Varnish服务器

在server1中:

step1 在varnish主机中设置后端服务器的ip和端口

vim /etc/varnish/default.vcl

 17     .host = "172.25.1.2";
 18     .port = "80";

whysless加速器 linux_vim_08


step2 在文件中将varnish服务的端口伪装成80:

vim /usr/lib/systemd/system/varnish.service

#将端口伪装成80
 24 ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/defaul    t.vcl -s malloc,256m

whysless加速器 linux_后端服务_09


step2 开启Varnish服务

systemctl restart varnish
netstat -antlp | grep varnish	#查看端口情况

whysless加速器 linux_vim_10

3. 配置后端服务器

此时另外打开一个虚拟机server2作为varnish的后端服务器

yum install httpd -y
cd /var/www/html/
vim index.html			#在测试页中写入server2方便查看后面的实验效果

server2

systemctl start httpd

whysless加速器 linux_后端服务_11


whysless加速器 linux_whysless加速器 linux_12

4. 测试

用真机或者另外一台主机来测试:

curl 172.25.1.1

whysless加速器 linux_whysless加速器 linux_13

这样,一个基本的varnish服务就搭建好了