如何在CentOS 7上安装Varnish Cache

时间:2020-02-23 14:31:17  来源:igfitidea点击:

Varnish缓存是一种免费的开源高性能HTTP加速器,用于加快Web服务器提供Web页面的速度。

缓存将网页保存在内存中,这样,Web服务器就不必在每次客户端请求时都重新提供该网页。

最终,这将使您的服务器速度得到提高,从而增加您被Google排名更高的机会。
在本文中,您将学习如何在CentOS 7上安装Varnish缓存。

步骤1:安装EPEL储存库

第一步是安装EPEL,EPEL是Enterprise Linux Extra Packages的缩写。
它包含另外的软件包和软件包顺利运行所需的依赖关系。

sudo yum install -y epel-release

步骤2:安装Nginx

在线下一个是Nginx Web服务器的安装。

要安装Nginx,请运行以下命令

yum install nginx -y

步骤3:启动并启用Nginx

成功安装Nginx之后,请确保使用以下命令在启动时启动并启用它

systemctl start nginx 

systemctl enable nginx

要确认Nginx已启动并正在运行,请执行以下命令:

systemctl status nginx

默认情况下,Nginx在端口80上运行。
要验证这一点,请使用netstat命令

netstat -pnltu

步骤4:安装光油

接下来,使用以下命令安装清漆

yum install varnish

步骤5.启动并启用清漆

成功安装Varnish缓存后,我们需要确保它已启动并正在运行。

要启动Varnish缓存,请执行以下命令

systemctl start varnish

在启动运行时启用Varnish缓存

systemctl enable varnish

要确认Varnish缓存正在运行,请执行以下命令

systemctl status varnish

太棒了,Varnish可以正常运行。

您可以使用以下命令查看更多信息,例如发行版,版本和安装数据

rpm -qi

步骤6:将Varnish配置为Nginx的反向代理

由于Varnish缓存位于Web服务器的前面,可以处理HTTP请求,因此我们需要将默认的Nginx端口更改为端口8080,然后将Varnish配置为侦听端口80。

打开Nginx配置文件

vim /etc/nginx/nginx.conf

找到服务器块并进行如下所示的更改

.....
server {
      listen       8080 default_server;
      listen  [::] 8080 default_server;
      ....
}

保存并退出文本编辑器。

为了使更改生效,请重新启动Nginx

systemctl restart nginx

现在Nginx应该在端口8080上运行

接下来,前往Varnish配置文件

vim /etc/varnish/default.vcl

找到后端默认块,并确保它类似于以下所示的行

backend default {
   .host = "127.0.0.1";
   .port = "8080";
 }

注意:

.host =指后端Web服务器IP地址。
.port =指正在运行的后端Web服务器端口。

保存并退出文本编辑器。

我们需要配置Varnish来监听端口80。
前往下面的配置文件

vim /etc/varnish/varnish.params

将" VARNISH_LISTEN_PORT"行的值修改为HTTP端口80。

VARNISH_LISTEN_PORT = 80

保存结束,退出文本编辑器。

重新启动清漆。

systemctl restart varnish

再次验证Varnish正在侦听的端口

netstat -plntu

从上面的输出中,我们可以清楚地看到Nginx正在监听端口8080,而Varnish正在监听端口80,这正是我们想要的。

现在让我们配置防火墙。

步骤7:安装和配置Firewalld

我们需要安装firewalld,并允许使用http和https协议。

要安装firewalld运行

yum install firewalld -y

现在启动并启用firewalld在启动时启动。

systemctl start firewalld
systemctl enable firewalld

示例输出

现在,我们允许端口80(http)和443(https)

firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --add-port=443/tcp --zone=public --permanent

最后,重新加载防火墙以使更改生效。

firewall-cmd --reload

剩下的唯一项目是测试我们的配置。

步骤8:测试Varnish配置

要测试清漆,请运行以下命令

curl -I localhost

您将获得类似于以下的输出:

要检查日志,请运行以下命令。

varnishncsa

打开浏览器并浏览服务器的地址

https://server-ip

返回命令行,您会注意到正在生成一些日志