greenpeace/planet4-nginx-helper

从rtcamp/nginx-helper克隆。在编辑/发布帖子时清除nginx的fastcgi/proxy缓存或redis缓存。还有其他一些功能。

安装次数: 85,515

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 6

分支: 121

类型:wordpress-plugin

2.2.3 2020-07-07 10:22 UTC

README

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

贡献者: rtcamp, rahul286, saurabhshukla, manishsongirkar36, faishal, desaiuditd, darren-slatten, jk3us, daankortenbach, telofy, pjv, llonchj, jinnko, weskoop, bcole808, gungeekatx, rohanveer, chandrapatel, gagan0123, ravanh, michaelbeil, samedwards, niwreg, entr, nuvoPoint, iam404, rittesh.patel, vishalkakadiya, BhargavBhandari90, vincent-lu, murrayjbrown, bryant1410, 1gor, matt-h, pySilver, johan-chassaing, dotsam, sanketio, petenelson, nathanielks, rigagoogoo, dslatten, jinschoi, kelin1003, vaishuagola27, rahulsprajapati, Joel-James, utkarshpatel, gsayed786, shashwatmittal, sudhiryadav, thrijith, stayallive, jaredwsmith, abhijitrakas, umeshnevase

标签: nginx, cache, purge, nginx map, nginx cache, maps, fastcgi, proxy, redis, redis-cache, rewrite, permalinks

至少需要 3.0

测试到 5.4

稳定标签 2.2.2

许可证: GPLv2 或更高版本(当然)

许可证URI: https://gnu.ac.cn/licenses/gpl-2.0.html

捐赠链接: http://rtcamp.com/donate/

在编辑/发布帖子时清除nginx的fastcgi/proxy缓存或redis缓存。还有其他一些功能。

描述

  1. 在使用nginx的WordPress中,从固定链接中删除index.php
  2. 添加了对使用nginx-srcache-module创建的全页缓存清除redis缓存的支持。
  3. 添加了对来自模块的nginx fastcgi_cache_purge & proxy_cache_purge指令的支持。提供设置以便您可以自定义清除规则。
  4. 添加了对WordPress多站网络安装上的nginx map{..}的支持。使用它,即使PHP/MySQL崩溃,Nginx也能提供PHP文件上传。请查看下面的教程列表以获取相关的Nginx配置。

教程

您需要遵循以下一个或多个教程以获得所需功能

安装

自动安装

  1. 登录到您的WordPress管理面板,导航到插件菜单,然后单击添加新插件。
  2. 在搜索框中输入“Nginx Helper”,然后单击搜索插件。从搜索结果中,选择Nginx Helper,然后单击立即安装。Wordpress将提示您确认以完成安装。

手动安装

  1. 解压zip文件。
  2. 将它们上传到WordPress安装上的/wp-content/plugins/目录。
  3. 然后从插件页面激活插件。

为了正确配置,请查看我们在描述选项卡中的教程列表

常见问题解答

重要 - 请参阅https://easyengine.io/nginx-helper/faq以获取最新的常见问题解答。

常见问题解答 - 安装/兼容性

Q. 这个是否直接可用?

不,您需要在Nginx端进行一些更改。请查看我们的教程列表

常见问题 - Nginx Fastcgi缓存清除

问:有“清除全部”按钮吗?它会清除整个站点的缓存吗?

是的,它会物理清空缓存目录。默认设置为/var/run/nginx-cache/

如果您的缓存目录不同,您可以在wp-config.php中重写此设置,添加define('RT_WP_NGINX_HELPER_CACHE_PATH','/var/run/nginx-cache/');

将路径替换为您自己的。

问:它适用于自定义文章和分类法吗?

是的。它以相同的方式处理所有文章类型。

问:我如何知道我的Nginx配置对fastcgi清除是正确的?

手动从缓存中清除任何页面,按照上一条回答中的说明。

从1.3.4版本开始,Nginx Helper在HTML源文件末尾添加了一个注释(在您喜欢的浏览器中“查看源代码”):<!--使用Nginx-Helper缓存于2012-10-08 07:01:45. 执行了42个查询,耗时0.280秒.-->。这显示了页面最后缓存的日期和时间。每次此页面被清除并刷新到缓存中时,这个日期和时间都会被重置。只需在手动清除前后检查这个注释。

只要您不清除页面(或进行使页面从缓存中清除的更改),时间戳就会保持不变,即使您不断刷新页面。这意味着页面是从缓存中提供的,并且它在正常工作!

其余部分显示了数据库查询以及加载此页面所节省的时间。(如果您不使用fast-cgi-cache,这将增加额外的资源负载。)

问:我需要立即清除一个缓存的页面!我该如何做?

Nginx Helper插件处理通常的场景,当缓存中的页面需要清除时。例如,当编辑文章或批准文章中的评论时。

要立即清除页面,请按照以下说明操作

  • 假设我们有一个在以下域中的页面:http://yoursite.com/about
  • 在域名和URL的其余部分之间插入'/purge/'。
  • 因此,在上面的例子中,清除URL将是http://yoursite.com/purge/about
  • 只需在浏览器中打开此链接,页面就会立即被清除。
  • 不用说,如果您有一个名为'purge'的页面或分类法,这不会起作用。

常见问题 - Nginx Redis缓存

问:我可以重写redis主机名、端口和前缀吗?

是的,您可以在wp-config.php中定义常量来强制重写redis主机名、端口或前缀。例如

define( 'RT_WP_NGINX_HELPER_REDIS_HOSTNAME', '10.0.0.1' );

define( 'RT_WP_NGINX_HELPER_REDIS_PORT', '6000' );

define( 'RT_WP_NGINX_HELPER_REDIS_PREFIX', 'page-cache:' );

常见问题 - Nginx映射

问:我的多站点已经使用了WPMU_ACCEL_REDIRECT。我还需要Nginx映射吗?

当然需要。 WPMU_ACCEL_REDIRECT减少了PHP的负载,但它仍然要求WordPress(即PHP/MySQL)为静态文件(例如您的文章中的图片)做一些工作。Nginx映射让Nginx自行处理文件,绕过WordPress,从而在不使用CDN的情况下提供更好的性能。

问:我正在使用X插件。它会在Nginx上工作吗?

很可能可以。如果一个WordPress插件没有明确使用任何仅适用于Apache的mod,那么它应该可以在Nginx上工作。某些插件可能需要一些额外的工作。

仍然需要帮助!

请在我们的免费支持论坛中发布您的问题。

截图

1. Nginx插件设置

Nginx plugin settings

2. 剩余设置

Remaining settings

变更日志

2.2.2

  • 添加操作rt_nginx_helper_after_purge_all,在清除整个缓存后(无论使用何种缓存类型)触发。 #232 - by Julien-prrs
  • 修复了设置无法保存的问题,因为按钮的值被本地化(任何语言)。 #236 - 由 umeshnevase 提交
  • 修复了“自定义清除URL”选项显示前一个值的问题。 #240#241 - 由 KirillGritcenko 提交
  • 在 WordPress 5.4 上进行了测试

2.2.1

2.2.0

  • 添加过滤器 rt_nginx_helper_fastcgi_purge_suffix 以更改 FastCGI 缓存的清除后缀。 #141 - 由 stayallive 提交
  • 添加过滤器 rt_nginx_helper_fastcgi_purge_url_base 以更改 FastCGI 缓存的清除 URL 基础。 #141 - 由 stayallive 提交
  • 将我们的代码更新为符合 WordPress 编码标准。 #209#225 - 由 abhijitrakaschandrapatel 提交
  • 在清除缓存之前检查并验证是否启用了清除。 #168 - 由 jaredwsmith 提交
  • 当清除被禁用时,在管理栏中隐藏清除缓存按钮。 #218#219 - 由 mbautistachandrapatel 提交
  • 不要在 WordPress 登录页面上添加 Nginx 时间戳。 #204#220 - 由 peixotormschandrapatel 提交

2.1.0

  • 为设备类型缓存清除添加通配符缓存键删除。 #203 - 由 pradeep910 提交
  • 添加过滤器 rt_nginx_helper_purge_url 以过滤要清除的 URL。 #182 - 由 todeveni 提交
  • 添加过滤器 rt_nginx_helper_purge_cached_file 以过滤缓存文件名。 #182 - 由 todeveni 提交
  • 添加过滤器 rt_nginx_helper_remote_purge_url 以过滤要清除的远程 URL。 #182 - 由 todeveni 提交
  • 添加操作 rt_nginx_helper_after_fastcgi_purge_all 在清除 FastCGI 缓存后触发。 #182 - 由 todeveni 提交
  • 在Redis缓存清理后添加操作rt_nginx_helper_after_redis_purge_all#182 - 由 todeveni 提供
  • 在从缓存中删除文件后添加操作rt_nginx_helper_purged_file#182 - 由 todeveni 提供
  • 在清理远程URL之前添加操作rt_nginx_helper_before_remote_purge_url#182 - 由 todeveni 提供
  • 在远程清理请求后添加操作rt_nginx_helper_after_remote_purge_url#182 - 由 todeveni 提供
  • 修复了新评论的清理后问题。 #175 - 由 jinschoi 提供
  • 修复了将Nginx时间戳添加到无效的内容类型的问题。 #200 - 由 thrijith 提供
  • 处理截断nginx.log文件时的文件大小异常。 #206 - 由 peterjanes 提供

2.0.3

  • 更新用于快速CGI缓存清理的文章链接。 #187 - 由 gagan0123 提供
  • 修复了在SUBDOMAIN_INSTALL上的映射生成问题。 #189 - 由 ChrisHardie 提供
  • 为插件发布添加GitHub操作。 #194 - 由 sudhir-yadav 提供

2.0.2

  • 修复了首次安装插件且Redis不可用时的未定义错误。 #162 - 由 Joel-James 提供
  • 移除了nginx映射部分的额外间距。 #169 - 由 ShashwatMittal 提供
  • 前端管理栏的Purge Cache菜单现在清除当前页面。 #173 - 由 imranhsayed 提供
  • 修复了当页面从发布切换到草稿时缓存未清除的问题。 #174 - 由 imranhsayed 提供
  • 修复了当使用多个URL时自定义清理URL选项不显示换行的问题。 #184 - 由 mist-webit 提供

2.0.1

  • 修复了多站点的设置URL:使用network_admin_url获取正确的网络设置URL。 #163 - 由 Joel-James 提供
  • 修复在空语句中引起的PHP错误 - 在PHP 5.5之前。由 #165 - PatelUtkarsh

2.0.0

  • 修复导致在删除评论时无法清除的拼写错误。由 #159 - jinschoi
  • 重构插件结构并删除未使用的代码。初始代码由 chandrapatel#153 - kelin1003
  • 运行 phpcs 并修复警告。由 #158 - vaishaliagola27
  • 与EasyEngine v4兼容。

1.9.12

  • 允许通过在wp-config.php中定义常量来覆盖Redis主机/端口/前缀 #152 - vincent-lu

1.9.11

  • 修复了没有尾部斜杠的永久链接不进行清除的问题 #124 - Patrick
  • 在删除能力之前检查角色是否存在。由 #134 - 1gor

1.9.10

  • 修复了在清除时删除Nginx缓存文件夹的问题 #123 - johan-chassaing
  • 修复了WordPress位于单独文件夹中的安装的Redis清除所有功能 #130 - pySilver

1.9.9

  • 修复wp_redirect问题。由 #131 - matt-h

1.9.8

  • 修复了当使用WPML插件时主页缓存被清除的问题 #116 - Niwreg
  • 修复了Purge Cache清除整个Redis缓存的问题 #113 - HansVanEijsden
  • WPMU中所有网站的单一日志文件。
  • 在WPMU中点击Purge Cache按钮时对单个站点Redis缓存进行清除 #122 - Lars Støttrup Nielsen
  • 修复了通知和警告。

1.9.7

  • 如果使用cron或wp-cli,则删除时间戳 #114 - samedwards
  • 修复了通知和警告。

1.9.6

  • 修复了发布文章时的缓存清除。
  • 当Redis服务器未安装时修复了错误。

1.9.5

添加了自定义清除URL选项。

1.9.4

  • 添加了Redis服务器连接超时。
  • 添加了RedisException处理。

1.9.3

  • 添加了PhpRedis API支持。
  • 添加了redis-lua脚本来快速清除完整缓存的支持。
  • 添加了composer.json支持。
  • 修复了管理栏中的缓存清除链接。
  • 更新初始设置以包括'清除方法' #99 - gagan0123

1.9.2

修复了Redis缓存和FastCGI缓存的清除。

1.9.1

修复了自定义文章类型的清除。

1.9

增加了Redis缓存清除支持。

1.8.13

修复了未设置“启用日志记录”时的PHP警告。

1.8.12

更新了readme和变更日志

1.8.11

修复URL转义问题 #82 - 由 javisperez

1.8.10

  • 安全漏洞修复

1.8.9

  • 默认设置修复和wp-cli示例修正 - 由 bcole808

1.8.8

  • 增加了不使用nginx清除模块清除缓存的功能 - 由 bcole808

1.8.7

  • 增加了清除其他插件缓存的操作 rt_nginx_helper_purge_all - 由 gungeekatx

1.8.6

  • 从插件zip/svn中删除了wercker.yml。
  • 更新了readme

1.8.5

1.8.4

  • 修复了未定义索引问题,并纠正了“purge_archive_on_del”键

1.8.3

  • 在WordPress 4.0上进行了测试
  • 修复了问题#69

1.8.1

  • 在wordpress 3.9.1上进行了测试
  • 修复了与Mailchimp的社交插件的冲突

1.8

  • 新的管理界面
  • 修复了缺失wp_sanitize_redirect函数调用的错误

1.7.6

  • 更新了后端UI
  • 增加了语言支持

1.7.5

  • 修复了清除删除主页的选项名称不匹配问题

1.7.4

  • 默认禁用清除和戳记。

1.7.3

  • 压制了可以安全忽略的与unlink相关的错误消息。
  • 修复了清除所有选项中的bug。

1.7.2

  • pjv修复了日志文件中的bug。

1.7.1

  • 修复了真正的清除和管理屏幕中的bug。

1.7

1.6.13

  • pjv更改了访问主页URL的方式。现在插件使用home_URL()函数,而不是站点选项。

1.6.12

  • telofy增加了清除atom和RDF源的功能。

1.6.11

  • 从管理屏幕中删除了注释,因为从3.5版开始它干扰了媒体上传。

1.6.10

  • 清理了代码。
  • 为代码添加了致谢。
  • 改进了附件清除。

1.6.9

  • 增加了“清除所有”按钮的Faux,以避免误导用户。

1.6.8

1.6.7

  • jk3us增加了对缓存验证注释的更好的内容类型检测

1.6.6

1.6.5

  • 修复了干扰存档清除设置的拼写错误。感谢Daan Kortenbach指出这一点。

1.6.4

  • 改进了映射生成代码,以更好地遵循约定,因为嵌套混淆了一些服务器。
  • 在admin_init中增加了映射更新过程以进行频繁刷新。

1.6.3

  • 修复了重复条目。

1.6.2

  • 在改进的多站点和多域名映射的修订代码中修复了另一个bug。

1.6.1

  • 在改进的多站点和多域名映射的修订代码中修复了bug。

1.6

  • 修订了改进的多站点和多域名映射的代码。

1.5

  • 时间戳现在只添加到content-type text/html
  • 增加了切换时间戳创建的选项

1.4

  • 修复了与评论状态名称相关的bug,导致清除失败。

1.3.9

  • 删除了多余的标题。

1.3.8

1.3.7

  • 将操作挂钩改回“shutdown”,从“wp_footer”添加验证注释。
  • 添加了一个检查,以防止向ajax请求添加注释。

1.3.6

  • 修改了动作钩子,从 'shutdown' 更改为 'wp_footer' 以添加验证注释。这与其他插件产生了冲突。

1.3.5

  • 改进了自述文件。
  • 改进了缓存验证注释。

1.3.4

1.3.3

  • 修复了使用域映射插件的多域名安装的地图生成问题,其中博客ID未显示。

1.3.2

  • 修复了使用域映射插件的多域名安装的地图生成问题。

1.3.1

  • 对目录结构和文件名进行了一些小修复。

1.3

  • 改进了自述文件。

1.2

  • 修复了地图生成错误。
  • 修复了清除逻辑。
  • 修复了清除设置在禁用和重新启用清除时丢失的UI问题。
  • 进行了一些UI调整。

1.1

  • 改进了readme.txt文件。添加了屏幕截图。

1.0

  • 首次发布

升级通知

2.2.2

Nginx Helper 2.2.2,添加新的 "rt_nginx_helper_after_purge_all" 动作,并修复了设置未保存的问题,因为按钮的值被本地化(任何语言)并且 "自定义清除URL" 选项显示前一个值。

这对你有吸引力吗?

Join us at rtCamp, we specialize in providing high performance enterprise WordPress solutions