怎样在 AlmaLinux 8 上安装 Varnish

在本教程中,我们将向您展示怎样在 AlmaLinux 8 上安装 Varnish。对于那些不知道的人,Varnish 缓存是一个开源的高性能 HTTP 加速器,旨在加速 Web 服务器。 与其他专注于 FTP、SMTP 和其他网络协议的代理服务器相比,Varnish 专注于 HTTP。 它纯粹是为了加速重动态网站的缓存而设计的。 Varnish 位于 Nginx 和客户端之间,接收来自客户端的请求并将它们转发到后端。 这将提高网络服务器的性能,因为 Varnish 将从内存中提供内容。

本文假设您至少具备 Linux 的基本知识,知道怎样使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示在 AlmaLinux 8 上逐步安装 Varnish 缓存。您可以按照 CentOS 和 Rocky Linux 的相同说明进行操作。

先决条件

  • 运行以下操作系统之一的服务器:AlmaLinux 8、CentOS 和 Rocky Linux 8。
  • 建议您使用全新的操作系统安装以防止任何潜在问题
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 AlmaLinux 8 上安装清漆

第 1 步。首先,让我们首先确保您的系统是最新的。

sudo dnf update
sudo dnf install epel-release
sudo dnf install dnf-plugins-core

步骤 2. 在 AlmaLinux 8 上安装 Varnish 7。

默认情况下,Varnish 在 AlmaLinux 8 基础存储库中可用。 现在我们运行以下命令,使用以下命令将 Varnish 缓存存储库添加到您的系统:

curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.rpm.sh | bash

添加存储库后,现在使用以下命令安装 Varnish:

sudo dnf install varnish

安装完成后,现在启用 Varnish(在系统启动时自动启动),并使用以下命令验证状态:

sudo systemctl start varnish
sudo systemctl enable varnish
sudo systemctl status varnish

步骤 3. 配置清漆缓存。

现在我们需要配置 Varnish 监听 80 端口。你可以通过编辑来完成 /usr/lib/systemd/system/varnish.service 文件:

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

添加配置,将6081端口改为80,如下图:

ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g

Save 和 close 然后重新加载文件 systemd 应用更改的守护进程:

sudo systemctl daemon-reload
sudo systemctl restart varnish

步骤 4. 配置 Nginx 以使用 Varnish 缓存。

首先,使用以下命令安装 Nginx 包:

sudo dnf install nginx

接下来,使用以下命令编辑 Nginx 主配置文件:

nano /etc/nginx/nginx.conf

然后将监听端口改为8080:

.....
server {
        listen       8080 default_server;
        listen       [::]:8080 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
.....

Save 和 close 完成后的文件,然后启动 Nginx 服务以应用更改:

sudo systemctl restart nginx

步骤 5. 配置防火墙。

默认情况下,AlmaLinux 8 包含一个完全锁定的防火墙。 您必须在防火墙中打开对 HTTP 服务的访问权限,以允许用户访问通过 HTTP 运行的网站或应用程序,并重新加载 firewalld 设置以应用新更改:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

步骤 6. 测试清漆缓存。

成功安装后,Varnish 缓存被启用并与 Nginx 服务一起使用 curl 下面的命令:

curl -I https://your-server-IP-address

输出:

HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Mon, 19 Feb 2022 05:39:06 GMT
Content-Type: text/html
Content-Length: 3429
Last-Modified: Thu, 20 May 2021 18:36:03 GMT
ETag: "60gdt6af-d65"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/7.0)
Accept-Ranges: bytes
Connection: keep-alive

恭喜! 您已成功安装 Varnish。 感谢您使用本教程在您的 AlmaLinux 8 系统上安装 Varnish HTTP 缓存。 如需更多帮助或有用信息,我们建议您查看 清漆官方网站.