如何在CentOS 7上使用Apache安装Varnish Cache
Varnish是一个专注于HTTP缓存的代理服务器。 它被设计成一个HTTP加速器,可以作为您的Web服务器Apache或Nginx的反向代理。 Varnish已被用于高调和高流量的网站,包括维基百科,“卫报”和“纽约时报”。
在本教程中,我们将向您展示如何安装和配置varnish HTTP加速器作为Apache Web服务器的反向代理。 真正的Web服务器Apache将运行在非标准的HTTP端口(运行在端口8080上)。 而Varnish将作为HTTP端口80上的反向代理运行。对于本指南,我们将使用CentOS 7服务器。
我们将要做什么
- 在CentOS 7上安装Apache
- 在端口8080上配置Apache
- 在CentOS 7上安装Varnish
- 配置Varnish作为Apache的反向代理
- 配置Firewalld
- 测试
条件
- CentOS 7服务器
- 根特权
第1步 - 在CentOS 7上安装和配置Apache
我们将从CentOS 7资源库安装Apache / httpd web服务器,然后配置将在8080端口上运行的服务器。
使用下面的yum命令安装Apache / httpd。
yum -y install httpd
安装完成后,启动httpd服务并使用以下命令使其在系统引导下运行。
systemctl start httpd
systemctl enable httpd
所以httpd服务正在运行。 使用netstat或curl命令检查它,如下所示。
netstat -plntu
curl -I localhost
所以,这个Apache / httpd web服务器已经安装。
第2步 - 在端口8080上配置Apache
在这一步中,我们将Apache / httpd web服务器配置为在端口8080上运行。为此,我们必须首先编辑配置文件“httpd.conf”。
转到Apache配置目录并编辑httpd.conf文件。
cd /etc/httpd/
vim conf/httpd.conf
在“收听”行上将默认端口80更改为8080。
Listen 8080
保存并退出。
现在测试配置并确保没有错误。 然后重新启动apache / httpd服务。
apachectl configtest
systemctl restart httpd
现在再次使用netstat检查,并确保Web服务器在端口8080上运行。
netstat -plntu
第3步 - 在CentOS 7上安装Varnish
在这一步中,我们将安装Varnish高性能HTTP加速器。 它在EPEL(Enterprise Linux的额外软件包)存储库中提供,所以我们需要在安装Varnish之前安装回购软件。
使用以下命令安装EPEL存储库。
yum -y install epel-release
现在使用下面的yum命令从EPEL存储库安装Varnish。
yum -y install varnish
安装完成后,启动Varnish并使用下面的systemctl命令将其添加到系统启动时启动。
systemctl start varnish
systemctl enable varnish
默认情况下,Varnish将使用端口6081和6082.使用下面的netstat命令检查它。
netstat -plntu
并确保我们得到默认的Varnish端口如下。
第4步 - 配置Varnish作为Apache的反向代理
所以安装了Varnish,现在我们将其配置为Apache Web服务器的反向代理。 默认情况下,Varnish将在HTTP端口80上运行。
进入Varnish配置目录并编辑'default.vcl'中的默认配置。
cd /etc/varnish
vim default.vcl
定义默认的后端部分。 我们使用运行在8080端口上的Apache web服务器,所以配置如下。
backend default {
.host = "127.0.0.1";
.port = "8080";
}
保存并退出。
接下来,将Varnish配置为使用HTTP端口80运行。编辑Varnish配置目录中的'varnish.params'文件。
vim varnish.params
在此文件中,将“VARNISH_LISTEN_PORT”行的值更改为HTTP端口80。
VARNISH_LISTEN_PORT=80
保存并退出。
现在重新启动Varnish并使用netstat命令检查统计信息。
systemctl restart varnish
netstat -plntu
确保你有类似于下面显示的结果。
Varnish HTTP Accelerator已被安装,现在它充当Apache Web服务器的反向代理。
第5步 - 配置Firewalld
在这一步中,我们将安装Firewalld并打开新的HTTP和HTTPS端口。
使用下面的yum命令安装Firewalld。
yum -y install firewalld
现在启动该服务并使其在系统启动时自动运行。
systemctl start firewalld
systemctl enable firewalld
接下来,使用firewalld-cmd命令打开HTTP和HTTPS请求的新端口,如下所示。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
重新加载防火墙配置。
而已。 Firewalld配置已经完成。
第6步 - 测试
要测试Varnish,首先执行下面的curl命令。
curl -I hakase-labs.co
在输出中,确保你得到一个类似于下面截图所示的HTTP头。
接下来,从浏览器中测试Varnish。 为此,请打开您的Web浏览器并键入服务器URL或地址。
http://hakase-labs.co
确保它的工作如下。
注意:如果你得到'403'禁止,你需要在'/ var / www / html'目录下创建'index.html'文件。
cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html
继续,使用下面的命令测试Varnish日志。
varnishncsa
你会得到Varnish访问日志。
而已。 Varnish HTTP加速器已经安装,现在它正在作为Apache Web服务器的反向代理运行。