centos 7.5 部署varnish缓存服务器功能

以下是“centos 7.5 部署varnish缓存服务器功能”的完整攻略。

安装Varnish

步骤1:添加 Varnish 源

在 CentOS7.5 系统上,Varnish 是通过第三方源安装的。因此,第一步是添加 Varnish 源和密钥。

sudo yum install epel-release
sudo rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-6.0.el7.rpm

步骤2:安装 Varnish

现在,安装 Varnish:

sudo yum install varnish

步骤3:启动 Varnish

安装完成后,可以使用以下命令启动 Varnish 服务:

sudo systemctl start varnish

配置 Varnish

步骤1:配置 Varnish

Varnish 的默认配置文件是 /etc/varnish/default.vcl。可以在此文件中配置 Varnish。

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

sub vcl_recv {
   if (req.url ~ "/wp-admin|wp-login.php") {
      return (pass);
   }

   if (req.request == "PURGE") {
      ban("req.url == " + req.url);
      return (synth(200, "Purged"));
   }
}

sub vcl_backend_response {
   set beresp.ttl = 24h;
}

sub vcl_deliver {
   unset resp.http.Server;
   unset resp.http.X-Varnish;
   if (obj.hits > 0) {
      set resp.http.X-Cache = "HIT";
   } else {
      set resp.http.X-Cache = "MISS";
   }
}

此配置文件将 Varnish 后面的服务器定义为 127.0.0.1:8080,并设置必要的缓存约定。此配置还定义了在访问后台(wp-admin)时将绕过缓存,以及如何在服务器端设置缓存时间。

步骤2:配置 Nginx

这是一个示例 Nginx 配置文件:

server {
  listen 80;
  server_name domain.com;
  root /var/www/domain.com;
  index index.html index.php;
  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    include fastcgi_params;
  }

  location /wp-admin {
     proxy_pass http://127.0.0.1:8080;
  }

  location /wp-includes {
     proxy_pass http://127.0.0.1:8080;
  }

  location /wp-content {
     proxy_pass http://127.0.0.1:8080;
     expires 30d;
  }
}

此配置文件将 Nginx 配置为监听端口 80,并将 Varnish 的地址设置为127.0.0.1:8080。此配置还定义了在访问后台目录(/wp-admin)时如何传递请求。

设置DNS

将域名的 DNS 记录指向您的服务器,就可以在浏览器中键入您的域名以访问您的网站了。

验证Caching

curl -I -H "X-Cache-Control: max-age=0" http://domain.com

这将通过 curl 发出一个请求,并带有一个 max-age = 0 的缓存控制标头,以确保它不会缓存。通过在响应头中查找 X-Cache 标头,可以验证请求是否被缓存。

curl -I -H "X-Cache-Control: max-age=3600" http://domain.com

这将发出具有 1 小时缓存的请求,以测试缓存。如果在响应头中看到 X-Cache: HIT,那么表示缓存有效。

以上就是 centos 7.5 部署 varnish 缓存服务器功能的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos 7.5 部署varnish缓存服务器功能 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java Servlet上传图片到指定文件夹并显示图片

    下面是Java Servlet上传图片到指定文件夹并显示图片的完整攻略: 步骤一:准备工作 首先,你需要在项目中创建一个用于存储上传图片的文件夹。例如,我们在项目的根目录下创建一个名为“upload”的文件夹。然后,需要在Web.xml中配置文件上传的处理器。 <servlet> <description>This is my ser…

    Java 2023年5月20日
    00
  • php使用json-schema模块实现json校验示例

    让我为您详细讲解一下PHP使用json-schema模块实现JSON校验的完整攻略。 什么是JSON Schema JSON Schema是用于描述JSON文档格式的规范。它允许定义一个JSON文档的结构、数据类型、值域限制等内容,并且可以通过一定的手段进行验证。因此,使用JSON Schema可以方便地校验JSON数据的完整性和正确性。 PHP中使用JSO…

    Java 2023年5月26日
    00
  • 什么是Java认证授权?

    Java认证和授权是Java安全机制中的两个重要概念。认证(Authentication)是指验证用户身份的过程,确定他们是否有权访问一些特定的资源或服务。而授权(Authorization)是指在确定用户身份之后,确定他们是否有权执行特定的操作。Java提供了一些API和框架,用于简化和处理身份验证和授权的复杂性。 一些常见的Java认证授权机制包括: J…

    Java 2023年5月11日
    00
  • Java项目工程代码深度刨析总结

    Java项目工程代码深度刨析总结攻略 1. 熟悉项目工程整体结构 首先,我们需要熟悉Java项目工程的整体结构,这包括项目的目录结构、源码目录结构、所使用的框架、依赖管理工具等。通常情况下,一个Java项目的目录结构应该包括src、lib、test等三个大文件夹以及其他配置文件。 2. 逐个分析源代码 接下来,我们需要逐个分析源代码,深入了解每个类、方法的功…

    Java 2023年5月23日
    00
  • 如何基于java向mysql数据库中存取图片

    当我们需要在Java程序中存储图片文件时,可以将图片以二进制流的形式保存到MySQL数据库中的BLOB字段中。以下是基于Java向MySQL数据库中存取图片的完整攻略: 准备工作 确保已经安装并配置好了MySQL数据库,并创建需要保存图片的表,其列中包含一个BLOB类型的字段用于保存图片,例如: sql CREATE TABLE images ( id IN…

    Java 2023年5月20日
    00
  • java实现登录之后抓取数据

    下面是Java实现登录之后抓取数据的完整攻略: 一、概述 当我们需要抓取某个网站上的数据时,通常需要先登录该网站,这样才能访问该网站的受保护资源。本篇攻略将会讲解如何使用Java实现模拟登录,并抓取登录后的页面数据。 二、准备 为了实现模拟登录,我们需要用到Java的HttpClient和Jsoup库。HttpClient用于发送HTTP请求,而Jsoup用…

    Java 2023年5月19日
    00
  • jsp中一个页面引入另一个页面的实现代码

    JSP中引入其他页面的主要方式是使用JSP include指令。该指令允许将指定的JSP页面包含在当前的JSP页面中。下面是实现此操作的步骤: 步骤一:创建要包含在另一个页面中的JSP页面。例如,我们要将“header.jsp”文件包含在“index.jsp”文件中。那么我们可以先创建“header.jsp”文件,如下所示: <html> &lt…

    Java 2023年6月15日
    00
  • 深入浅出理解Java Lambda表达式之四大核心函数式的用法与范例

    来看看如何深入浅出地理解Java Lambda表达式之四大核心函数式的用法与范例。 一、什么是Lambda表达式? Lambda表达式是Java 8中引入的一个重大语言特性,可以看作一种匿名函数,使Java在函数式编程方面有了重大的改进。跟匿名类不同,Lambda表达式不需要声明类型,编译器可以自动推断Lambda表达式的类型。 Lambda表达式简化了Ja…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部