安全圈 | 专注于最新网络信息安全讯息新闻

首页

为缩短wordpress服务器响应时间

作者 scozzari 时间 2020-02-20
all

如何配置数字fastcgi Cache缩短WordPress服务器响应时间?

通常情况下,Nginx配置PHP请求转移到PHP-FPM,因为它不能处理PHP代码。如何运行LEMP网站。LEMP解码为Linux)(操作系统,程序)Web服务器,MySQL(数据库管理系统)和PHP)的动态内容处理脚本服务器语言。

如果需要的话,PHP-FPM将要求MySQL/MariadB数据库得到它想要的东西。PHP-FPM生成静态的HTML页面,然后返回的程序。最后,Nginx发送静态HTML页面到Web浏览器。

当它涉及到静态HTML页面服务,这是非常快的。然而,众所周知,虽然最新版本的PHP7比以前的版本快得多。a MySQL/MariadB数据库是Steca LEMP网站生产率的另一个瓶颈。

而不是发送一个动态的页面请求到PHP-FPM,并生成一个HTML页面,程序可以缓存生成的HTML页面,下一次发送缓存页到Web浏览器,除了PHP和数据库的要求。

这将大大改善服务器的响应时间,并减少对PHP-FPM和数据库服务器的负荷。这也允许Nginx维护网页时,更高的PHP-FPM或数据库服务器关闭)(当你的Linux服务器内存不足。

fastcGI是一个程序之间的程序,这就是为什么它被称为fastcGI缓存。

如何配置数字FastCGI Cache

步骤1:编辑主要配置文件

第一个参数指定的缓存位置在文件系统)。level设置在/etc/nginx/cache/目录层次结构。在一个文件夹中有大量的文件可能会降低文件访问速度,因此建议为大多数扫描的双层次目录。如果不启用level选项,该程序将所有文件都放在一个目录。第一个目录使用一个字符的名称。子目录使用两个字符的名称。

第三个参数指定的共享内存区的名称(phpcache)和它的大小(这个存储区的目的是存储缓存和元数据的关键,如使用时间。在内存中有一个密钥副本,可以快速地确定一个HIT或MISS请求是不是真的,不需要转移到磁盘,从而大大加快了验证。1 MB区可储存大约8 000把钥匙的数据,因此在100 MB区可储存大约800 000把钥匙的数据。

max u\size设定了缓存大小的上限)(如果没有指定,缓存可以使用所有剩余的磁盘空间。当缓存达到其最大大小,将从缓存中删除最不使用的文件。

在非活动时间(60分钟)内无法获得的数据,将由缓存管理器从缓存中删除,不管它是否过期。默认值为10分钟。您还可以使用诸如12小时)12小时和7天之类的数值。

首先,该程序将用于缓存的文件记录到临时存储区):/var/lib/nginx/fastcgi/。使用u temp\u path=off指定数字直接写入缓存的最终目录,以避免不必要的数据复制到文件系统之间。

步骤2:编辑Nginx服务器块

打开您的服务器块配置文件。

将页面向下滚动到〜php。在本节中添加以下行:

fastci\u cache指令包含缓存,使用以前由fastci\u cache\u path指令创建的存储区。

Nginx可以从其缓存中提供过时的内容,当它无法从PHP-FPM服务器获取更新内容。例如,MySQL/MariadB数据库服务器不工作。而不是向客户发送错误,该程序可以从其缓存中提供一个过时的文件版本。要启用此功能,我们添加了一个fastci \ u cache \ use \ u stale目录。

[email protected] cache u menu uses设定了多少次客户要求元之前,将其缓存。默认值为1。

如果启用fastci\u cache\u lock,如果一个以上的客户要求一个文件,而不是当前缓存,只有第一个请求是允许在更高的PHP-FPM服务器。其余的请求等待,直到这个请求被接受,然后从缓存中提取文件。没有fastcgi.u cache.u lock,所有的查询直接发送到一个更高的PHP-FPM服务器。

现在保存并关闭服务器块配置文件。然后检查你的配置。

如果测试成功,重新启动程序。

或者

缓存管理器现在开始,和缓存文件夹(

Nginx FastCGI Cache测试

看看标题x-fastcGI-Cache。HIT表示,答案是从缓存发送。

禁用某些页面的缓存

登录,用户的cookie文件,POST查询,查询行,WordPress服务器部分,网站地图,通道不需要缓存。没有缓存的注册用户或最近的评论员。要禁用上述项目的缓存,请编辑您的服务器块配置文件。请插入下面的代码在服务器的上下文中的位置~php美元。

如果你想添加一个新的条目,使该程序跳过你的IP地址的fastcGI缓存。

一个字符串(~)告诉Nginx,下面是正则表达式)正则表达式。星号*使正则表达式不敏感的寄存器。多个值的垂直线。如果一个变量的$remote U addr匹配任何IP地址的正则表达式,然后设置为$skip \u cache等于1。

请注意,如果你使用谷歌XML的网站地图插件在WordPress网站,你可能会看到下面的改写规则在您的配置为您的Nginx。

这些覆盖规则应放置在下面的缓存政策。如果覆盖规则高于缓存的政策,你的网站地图将永远缓存。同样,如果你使用Yoast SEO插件创建一个网站地图,你也需要移动的重写规则Yoast低于缓存。

现在,在位置~~ php美元插入以下指令:

第一个指令指示该程序发送一个请求到一个更高的PHP-FPM服务器,而不是试图找到缓存文件。第二个指令告诉Nginx不要缓存的答案。保存文件并重新启动程序。

或者

从这里使用的材料。