安装Varnish Cache 5.1以提升CentOS 7上的Apache性能

在本文中,我将解释如何安装和使用Varnish Cache 5.1作为CentOS 7中的Apache Web服务器的前端(也可以在RHEL7上使用)。

Varnish Cache (通常称为Varnish )是一种开放源代码的反向代理HTTP加速器,旨在加速Web服务器。 它适用于过度使用的API端点,也适用于提供大量内容和体验高流量的动态站点。

它基本上有助于降低CPU负载; 支持Web服务器上的负载平衡,并使Web浏览器能够通过将缓存存储在RAM中来快速加载站点。 许多大公司使用它,包括Facebook,Twitter和维基百科只是提到一些。

要求

  1. 安装了Apache的CentOS 7
  2. 具有静态IP地址的CentOS 7

在本文中,我将解释如何安装和使用Varnish Cache 5.1作为CentOS 7中 Apache Web服务器的前端(也可在RHEL7使用 )。

第1步:在CentOS 7上安装Apache Web Server

1.首先使用YUM包管理器从默认的CentOS软件仓库安装Apache HTTP服务器,如下所示。

# yum install httpd
在CentOS 7上安装Apache

在CentOS 7上安装Apache

2.一旦Apache安装,暂时启动它,并使其在系统启动时自动启动。

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd
启动和启用Apache

启动和启用Apache

3.下一个更新系统防火墙规则允许端口80上的入站数据包使用以下命令。

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload
在防火墙上打开Apache端口

在防火墙上打开Apache端口

第3步:在CentOS 7上安装Varnish缓存

4.不幸的是,没有预先编译的RPM软件包,用于最新版本的Varnish Cache 5 (即写入时为5.1.2 ),因此您需要从源代码包中构建它。

在从源编译之前,首先需要启用EPEL存储库来安装多个依赖项包,如图所示。

# yum install -y epel-release
# yum install autoconf automake jemalloc-devel libedit-devel libtool ncurses-devel pcre-devel pkgconfig python-docutils python-sphinx graphviz -y
安装Epel和依赖包

安装Epel和依赖包

5. 下载下载Varnish并从源代码编译,如图所示。

# wget https://repo.varnish-cache.org/source/varnish-5.1.2.tar.gz
# tar -zxvf varnish-5.1.2.tar.gz
# cd varnish-5.1.2
# sh autogen.sh
# sh configure
# make
# make install
# ldconfig

6.从源代码编译Varnish Cache后,主可执行文件将被安装为/ usr / local / sbin / varnishd

您可以使用以下命令确认Varnish安装成功。

# /usr/local/sbin/varnishd -V
检查Varnish版本

检查Varnish版本

第3步:配置Apache使用Varnish缓存

7.现在配置Apache与Varnish Cache配合使用。 默认情况下,Apache监听端口80 ,您需要将默认HTTPD端口更改为8080 - 这将确保HTTPD在Varnish缓存之后运行。

您可以使用sed命令将端口80更改为8080 ,如图所示。

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

然后保存并关闭文件。

8.执行所有必要的配置后,重新启动HTTPD和Varnish缓存以实现上述更改。

# systemctl restart httpd

9.现在通过键入以下命令手动启动varnish守护程序,而不是调用service varnish start ,因为某些配置不在源安装中。

# /usr/local/sbin/varnishd -a :80 -b localhost:8080
启动Varnish守护进程

启动Varnish守护进程

第4步:测试Apache上的Varnish缓存

10.最后,测试是否启用了Varnish,并使用下面的cURL命令使用HTTPD服务工作,可以使用它来查看HTTP头。

# curl -I http://localhost
在Apache上测试Varnish缓存

在Apache上测试Varnish缓存

有关更多信息,请查看Varnish Cache Github Repository: https//github.com/varnishcache/varnish-cache

在本教程中,我们介绍了如何在CentOS 7上为Apache HTTP服务器设置Varnish Cache 5.0代理。如果您有任何疑问或其他想法可以共享,请使用下面的反馈表单来回复。