如何在CentOS 7上使用Apache安装Varnish Cache

如何在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服务器。

我们将要做什么

  1. 在CentOS 7上安装Apache
  2. 在端口8080上配置Apache
  3. 在CentOS 7上安装Varnish
  4. 配置Varnish作为Apache的反向代理
  5. 配置Firewalld
  6. 测试

条件

  • 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服务器的反向代理运行。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏