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 Future类

    了解JAVA Future类的完整攻略 概述 Future类是Java里面可用于异步计算的一种设计模式。该模式依赖于将异步操作提交到执行者(Executor)。简单来说,Future是一个接口,定义了获取异步计算结果的一种方式,不必等待计算完成。 它在Java的java.util.concurrent包中被定义,用于描述异步计算的结果。在执行异步计算时,可以…

    Java 2023年5月26日
    00
  • 一文详解Java闭锁和栅栏的实现

    一文详解Java闭锁和栅栏的实现 1. 什么是闭锁和栅栏 在并发编程中,有时需要等待某个操作的完成,或者协调多个线程的执行。Java提供了闭锁(Latch)和栅栏(Barrier)两个机制来实现这种协调。 闭锁是一种同步工具,可以使线程等待一个或多个线程的操作完成。闭锁一般会在某个线程等待另一个线程完成任务时使用。 栅栏是一种同步工具,它允许一组线程在某个点…

    Java 2023年5月26日
    00
  • 批量处理JDBC语句提高处理速度

    批量处理JDBC语句可以大大提高处理速度,特别是当需要批量插入或更新大量的数据时更为明显。以下是批量处理JDBC语句的完整攻略: 1. 准备完整的SQL语句 批量处理需要准备完整的SQL语句,即将多个SQL语句合成一个大的SQL语句。这样可以避免频繁的网络传输和数据库请求。比如,如果需要插入1000条数据,则可以将所有数据的插入语句合成一个SQL语句,然后一…

    Java 2023年6月15日
    00
  • 微信小程序下拉刷新界面的实现

    以下是关于微信小程序下拉刷新界面实现的完整攻略,包括两条实例说明。 一、基本概念 在介绍如何实现下拉刷新之前,需要了解一些基本概念: scroll-view组件:滚动视图,用于滚动展示长列表或区域。在小程序中,可以使用scroll-view组件实现下拉刷新。 下拉刷新函数:在scroll-view组件的bindscrolltolower属性中绑定一个触发事件…

    Java 2023年5月23日
    00
  • Java实战项目之校园跑腿管理系统的实现

    Java实战项目之校园跑腿管理系统的实现攻略 一、项目简介 本项目是一款基于Java语言的校园跑腿管理系统,实现了用户端和管理员端的功能,其中用户端包括下单、支付、查看订单等功能,管理员端包括订单管理、用户管理、商品管理等功能。本项目旨在帮助校园内的学生更便利地完成各种跑腿任务。 二、技术栈 Spring Boot MyBatis MySQL Spring …

    Java 2023年5月30日
    00
  • java读取cvs文件并导入数据库

    敬爱的读者,首先感谢您对 Java 编程的热爱。关于如何从CSV文件中读取数据并将其导入数据库,本文将提供一个完整的攻略,详细介绍每个步骤。在本文中,我们将使用Java编写代码来实现该功能。 1. 准备CSV文件 首先,需要准备好包含数据的 CSV 文件。CSV 文件是一种纯文本格式,用于存储和交换以逗号、制表符、分号等分隔符隔开的数据。你可以使用 Micr…

    Java 2023年5月20日
    00
  • 详解用JWT对SpringCloud进行认证和鉴权

    详解用JWT对SpringCloud进行认证和鉴权 什么是JWT JWT (JSON Web Token) 是一种开放标准 (RFC 7519),它定义了一种简洁的、自包含的方式,用于在不同的系统之间传递安全信息。JWT 通常由 3 部分组成:头部 (header)、载荷 (payload)、签名 (signature)。其中,头部用于描述 JWT 的元数据…

    Java 2023年5月20日
    00
  • Java字符串split方法的坑及解决

    下面就是“Java字符串split方法的坑及解决”的完整攻略。 问题描述 在Java中,有一个很常用的字符串处理方法split(),它可以按照某个分隔符把一个字符串分割成若干个小段。但实际上使用这个方法时,会有一些容易被忽略的坑点,需要我们注意。 坑点分析 1. 分隔符是正则表达式 split()方法使用的分隔符其实是一个正则表达式,因此在使用时需要特别注意…

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