如何在 Centos 中为 NGINX 安装 Varnish 缓存

Varnish 是一个高性能缓存模块,通过缓存提高网站速度和性能。 以下是如何在 CentOS、Redhat、 Fedora Linux。

如何在 Centos 中为 NGINX 安装 Varnish 缓存

以下是在 CentOS、Redhat 中为 NGINX 服务器安装 varnish 缓存的步骤, Fedora linux。

1. 在 CentOS 上安装 NGINX

如果你已经在 CentOS 中安装了 NGINX,请跳到下一步。 否则打开终端并运行以下命令来安装 NGINX。

# yum install nginx

如果您收到是/否提示,请输入“y”或“Y”以完成安装。

运行以下命令启动 NGINX 并使其在系统引导期间自动启动。

# systemctl start nginx
# systemctl enable nginx

奖励阅读:NGINX SSL 配置步骤

2.添加EPEL仓库

一些 Varnish 缓存依赖项需要 EPEL 存储库设置。 运行以下命令进行安装。

# yum install -y epel-release

3.安装依赖

安装清漆缓存所需的依赖项。

# yum install pygpgme yum-utils

奖励阅读:如何在 NGINX 中防止图像盗链

4. 添加清漆缓存存储库

打开以下文件

# vi /etc/yum.repos.d/varnishcache_varnish5.repo

并将以下代码复制粘贴到其中。 确保你更换 / / 7 使用您的 Linux 版本。 在这种情况下,我们为 CentOS 7 使用了 7。

[varnishcache_varnish5]
name=varnishcache_varnish5
baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[varnishcache_varnish5-source]
name=varnishcache_varnish5-source
baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

Save 和 close 文件。

奖励阅读:如何强化 NGINX 服务器

5. 安装清漆缓存

运行以下命令在 CentOS 中安装 varnish 缓存。 Enter y 或 Y 或 yes 以防您看到任何提示。

# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish5'
# yum install varnish

安装后,您将在 /usr/bin/varnishd 中找到主要的可执行文件,在 /etc/varnish/ 中找到配置文件。 以下是您需要注意的其他关键文件。

  • /etc/varnish/varnish.params – 清漆环境配置文件。
  • /etc/varnish/default.vcl – 主要 varnish 配置文件,使用 vanish 配置语言 (VCL) 编写。
  • /etc/清漆/秘密 – 清漆秘密文件

您可以通过在终端中运行以下命令来获取上述信息。

# rpm -qi varnish

通过运行以下命令验证安装

# which varnishd
# varnishd -V

6. 配置 NGINX 以使用 Varnish

默认情况下,NGINX 侦听端口 80。在这一步中,我们将使 Varnish 侦听端口 80,NGINX 侦听端口 8080,以便 NGINX 运行在 Varnish 缓存之后。

在 /etc/nginx/nginx.conf 打开 NGINX 配置文件

# vi /etc/nginx/nginx.conf

如果您为您的网站(例如 www.website.com)配置了单独的虚拟主机,例如 /etc/nginx/sites-enabled/website.conf 然后使用以下命令打开其配置

# vi /etc/nginx/sites-enabled/website.conf

在服务器块中查找行

listen 80;

并将其更改为

listen 8080;

这是一个例子

请注意,如果您对虚拟主机配置文件进行了更改,则只有该网站将被配置为使用 Varnish 缓存。

7. 配置 Varnish 与 NGINX 一起使用

Varnish 默认监听 6081 端口,我们需要让它监听 80 端口。打开 varnish 配置文件。

# vi /etc/varnish/varnish.params

将 VARNISH_LISTEN_PORT 从 6081 更新为 80,如下所示。

配置清漆缓存

8. 设置 NGINX 作为后端代理

打开 /etc/varnish/default.vcl 文件将 NGINX 配置为后端代理。

# vi /etc/varnish/default.vcl

将后端块中的 .port 值更新为 8080 值。 这会将清漆缓存指向 NGINX。

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

9.重启NGINX和Varnish Cache

重新启动 NGINX 和 Varnish 缓存以应用更改

# systemctl restart nginx
# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

10. 使用 NGINX 测试 Varnish 缓存

跑过 curl 命令向您的服务器发送请求。

# curl -I https://your_server_or_ip

您将看到通过:1.1 清漆 (Varnish /5.2) 标头

在 Nginx 上测试 Varnish 缓存

希望现在您可以在 CentOS、Redhat、 Fedora Linux系统。

CodePre 可以在几分钟内轻松可视化数据,并在实时仪表板中进行监控。 今天就试试吧!