rtcamp / nginx-helper
每当编辑/发布帖子时,清理nginx的fastcgi/proxy缓存或redis缓存。还有更多功能。
Requires
- php: >=5.3.2
- composer/installers: ^1.0
Requires (Dev)
- dev-master
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.9.11
- 1.9.10
- 1.9.9
- 1.9.8
- 1.9.7
- 1.9.6
- 1.9.5
- 1.9.4
- 1.9.3
- dev-feat/add-default-options
- dev-feat/preload-cache
- dev-feat/add-editor-purge-cap
- dev-feat/add-amp-url-purge
- dev-feat/add-cache-path-filter
- dev-develop
- dev-feature/disable-purge-on-import
- dev-update/wordpress-version
- dev-fix/test
- dev-feature/update-readme
- dev-version-update/v2.2.4
- dev-feature/secure-log-file
- dev-feature/secure-log-file-checks
- dev-feature/update-log-file-path
- dev-release/2.2.3
- dev-fix/phpcs-issues
- dev-update/test-name
- dev-sync-dev-with-master
- dev-add/tests
- dev-automation
- dev-update/tested_upto_version
- dev-feature/issue-21
- dev-feature/nav-menu
- dev-nightwatch
This package is not auto-updated.
Last update: 2024-09-28 17:38:25 UTC
README
贡献者: 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, sid177, souptik, arafatkn, subscriptiongroup, akrocks
标签: nginx, 缓存, 清除, nginx map, nginx 缓存, maps, fastcgi, 代理, redis, redis 缓存, 修改,永久链接
至少需要 3.0
测试到 6.1
稳定标签 2.2.5
许可证: GPLv2 或更高版本(当然)
许可证URI: https://gnu.ac.cn/licenses/gpl-2.0.html
捐赠链接: http://rt.cx/eedonate
每当编辑/发布帖子时,清理nginx的fastcgi/proxy缓存或redis缓存。还有更多功能。
描述
- 在WordPress与nginx一起使用时,从永久链接中删除
index.php
。 - 当作为使用nginx-srcache-module创建的全页缓存时,添加清除redis缓存的支撑。
- 添加对模块中的nginx fastcgi_cache_purge & proxy_cache_purge指令的支持。提供设置,以便您可以根据需要自定义清除规则。
- 在WordPress多站网络安装上添加对nginx
map{..}
的支持。使用它,即使PHP/MySQL崩溃,Nginx也可以服务PHP文件上传。请查看以下教程列表以获取相关的Nginx配置。
教程
您需要遵循以下一个或多个教程以获得所需功能
- Nginx Map + WordPress-Multisite + 静态文件处理
- Nginx + WordPress + fastcgi_purge_cache
- Nginx + WordPress-Multisite(子目录)+ fastcgi_purge_cache
- Nginx + WordPress-Multisite(子域/域名映射)+ fastcgi_purge_cache
- 其他WordPress-Nginx教程
安装
自动安装
- 登录到WordPress管理面板,转到插件菜单并点击添加新插件。
- 在搜索框中输入“Nginx Helper”并点击搜索插件。从搜索结果中,选择Nginx Helper并点击现在安装。Wordpress将要求您确认以完成安装。
手动安装
- 解压缩zip文件。
- 将它们上传到WordPress安装上的
/wp-content/plugins/
目录。 - 然后从插件页面激活插件。
为了正确配置,请查看我们在描述标签中的强教程列表。
常见问题解答
重要 - 请参阅https://github.com/rtcamp/nginx-helper#frequently-asked-questions以获取最新的常见问题解答。
常见问题解答 - 安装/兼容性
Q. 这会直接工作吗?
不。您需要在Nginx端进行一些更改。请查看我们的教程列表。
常见问题解答 - Nginx Fastcgi Cache Purge
问题:有没有“清除所有”按钮?它会清除整个网站吗?
是的,它会。它会物理清空缓存目录。默认设置为 /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。
- 只需在浏览器中打开它,页面就会立即清除。
- 不言而喻,如果您有一个名为“清除”的页面或分类法,这不会起作用。
常见问题解答 - 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-only mod,它应该在 Nginx 上工作。一些插件可能需要一些额外的修改。
仍需要帮助!
请将您的问题发布在我们的免费支持论坛 中。
屏幕截图
1. Nginx 插件设置
2. 剩余设置
变更日志
2.2.5
- 添加了启用/禁用清除源的能力。 #281 - 由 Amaan Khan
- 修复了当 Redis 端口设置为空字符串时的未定义端口错误。 #333 - 由 Amaan Khan
2.2.4
- 介绍了指定
NGINX_HELPER_LOG
常量的功能,使用户能够启用日志功能。#318 - 由Vishal Kakadiya提供 - 已经启用日志功能的nginx-helper插件用户将不会受到影响。但是,如果日志被禁用,用户必须定义
NGINX_HELPER_LOG
常量来重新启用日志功能。
2.2.3
- 在
rt_nginx_helper_purge_cached_file
钩子中将正在清除的URL作为参数添加。 #271 - 由Arafat Islam提供 - 修复保存导航菜单时的性能问题。#112,#272 - 由Arafat Islam提供
- 修复自定义文章类型的清除日期归档问题。#40,#268 - 由Arafat Islam提供
- 修复在移动到回收站时未清除页面和CPT URL的问题。#191,#267 - 由Arafat Islam提供
- 修复通知 - 未定义索引:path #190,#251,#262 - 由George Lagonikas提供
- PHP 8.1兼容性 #291,#302 - 由Siddharth Tikekar提供
- 在WordPress 6.1上测试 #285
2.2.2
- 添加动作
rt_nginx_helper_after_purge_all
,在清除所有缓存后触发,无论使用何种缓存类型。 #232 - 由Julien-prrs提供 - 修复了设置未保存的问题,因为按钮的值本地化(适用于任何语言)。 #236 - 由umeshnevase提供
- 修复了“自定义清除URL”选项显示先前值的问题。#240,#241 - 由KirillGritcenko提供
- 在WordPress 5.4上测试
2.2.1
- 修复了FastCGI缓存清除的超时问题。#229 - 由chandrapatel和thrijith提供
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 - 由 abhijitrakas、chandrapatel 贡献。
- 在清除缓存之前检查并验证清除功能是否已启用。 #168 - 由 jaredwsmith 贡献。
- 在清除功能禁用时,在管理栏中隐藏清除缓存按钮。 #218、#219 - 由 mbautista、chandrapatel 贡献。
- 不要在WordPress登录页面上添加Nginx时间戳。 #204、#220 - 由 peixotorms、chandrapatel 贡献。
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 贡献。 - 添加操作
rt_nginx_helper_after_redis_purge_all
在清除Redis缓存后执行。 #182 - 由 todeveni 贡献。 - 添加操作
rt_nginx_helper_purged_file
在从缓存中删除文件后执行操作。 #182 - 由 todeveni 贡献。 - 添加操作
rt_nginx_helper_before_remote_purge_url
在清除远程URL之前执行操作。 #182 - 由 todeveni 贡献。 - 添加操作
rt_nginx_helper_after_remote_purge_url
在远程清除请求后执行操作。 #182 - 由 todeveni 贡献。 - 修复在新评论上进行清除时的问题。 #175 - 由 jinschoi 贡献。
- 修复将Nginx时间戳添加到无效内容类型的问题。 #200 - 由 thrijith 贡献。
- 处理截断nginx.log文件时的文件大小异常。#206 - 由 peterjanes
2.0.3
- 更新fastcgi缓存清除的文章链接。#187 - 由 gagan0123
- 修复
SUBDOMAIN_INSTALL
上的映射生成问题。#189 - 由 ChrisHardie - 添加插件发布的GitHub Action。#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 5.5之前使用空语句时的PHP错误。#165 - 由 PatelUtkarsh
2.0.0
- 修复在删除评论时清除失败的typo问题。#159 - 由 jinschoi
- 重构插件结构和删除未使用的代码。初始代码由 chandrapatel,#153 - 由 kelin1003
- 运行phpcs并修复警告。#158 - by vaishaliagola27
- 使与EasyEngine v4兼容。
1.9.12
- 通过在wp-config.php中定义常量来允许覆盖Redis主机/端口/前缀。#152 - by vincent-lu
1.9.11
1.9.10
- 修复了清除时删除Nginx缓存文件夹的问题。#123 - by johan-chassaing
- 针对WordPress安装在单独文件夹的安装,修复了Redis清理所有功能的问题。#130 - 由pySilver
1.9.9
1.9.8
- 修复了当使用WPML插件时主页缓存被清除的问题。#116 - 由Niwreg
- 修复了Purge Cache清除整个Redis缓存的问题。#113 - 由HansVanEijsden
- WPMU中所有站点共享一个日志文件。
- 在WPMU中点击“清除缓存”按钮时,单站点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支持
- 修复了管理栏中的缓存清理链接。
- 将初始设置更新为包括'purge_method' #99 - 由gagan0123
1.9.2
修复了Redis缓存和FastCGI缓存的清理问题
1.9.1
修复了自定义文章类型的清理问题
1.9
添加了Redis缓存清理支持。
1.8.13
修复了未设置“启用日志记录”时未定义索引的PHP通知。
1.8.12
更新了readme和changelog
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
- 添加了WP_CLI支持 - 由Udit Desai
1.8.4
- 修复了未定义索引问题,并正确设置了“purge_archive_on_del”键
1.8.3
- 已测试与WordPress 4.0兼容
- 修复了问题#69
1.8.1
- 已测试与wordpress 3.9.1兼容
- 修复了与Mailchimp的Social插件的冲突
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
- 添加了真正的完整缓存清理。
- 将映射文件位置更改为上传目录以修复http://rtcamp.com/support/topic/plugin-update-removes-map-file/
- 日志文件位置已更改为上传目录。
1.6.13
- pjv 更改了访问主页URL的方式。现在插件使用 home_URL() 函数,而不是网站选项。
1.6.12
- telofy 增加了原子和RDF源清理。
1.6.11
- 从管理界面移除了评论,因为它们干扰了3.5及更高版本的媒体上传。
1.6.10
- 清理了代码。
- 为代码添加了致谢。
- 改善了附件清理。
1.6.9
- 添加了“伪”按钮以清除所有内容,以避免误导用户。
1.6.8
- daankortenbach 将“清除缓存”链接添加到wp-admin栏
1.6.7
- jk3us 为缓存验证评论添加了更好的内容类型检测
1.6.6
- darren-slatten 添加了手动“清除所有URL”功能
1.6.5
- 修复了干扰存档清理设置的错别字。感谢 Daan Kortenbach 指出这一点。
1.6.4
- 由于嵌套导致某些服务器混乱,因此改进了地图生成代码以符合更好的约定。
- 将地图更新过程添加到 admin_init 以实现频繁刷新。
1.6.3
- 修复了重复条目。
1.6.2
- 在改进的多站和多域名映射的修订代码中修复了另一个错误。
1.6.1
- 在改进的多站和多域名映射的修订代码中修复了错误。
1.6
- 修订了改进的多站和多域名映射的代码。
1.5
- 时间戳现在仅添加到内容类型 text/html
- 添加了切换创建时间戳的选项
1.4
- 修复了与评论状态命名相关的错误,这导致清理失败。
1.3.9
- 移除了多余的标题。
1.3.8
- 修复了单篇/页面/文章类型清理代码中的错误。感谢 Greg 在此处指出: http://rtcamp.com/support/topic/updating-post-nginx-helper-purge-cache-post/。
1.3.7
- 将操作钩子改为从 'wp_footer' 返回 'shutdown' 以添加验证注释。
- 添加了检查以防止向ajax请求添加注释,
1.3.6
- 将操作钩子从 'shutdown' 更改为 'wp_footer' 以添加验证注释。这干扰了其他插件。
1.3.5
- 改进了“阅读我”。
- 改进了缓存验证注释。
1.3.4
- 修复了为地图生成的重复条目(无害,但看起来不好!)
- 添加了缓存验证的时间戳HTML注释,如此处所述: http://rtcamp.com/wordpress-nginx/tutorials/checklist/
1.3.3
- 修复了使用域名映射插件的多域名安装的地图生成问题,其中博客ID没有显示。
1.3.2
- 修复了使用域名映射插件的多域名安装的地图生成问题。
1.3.1
- 对目录结构和文件名进行了细微调整。
1.3
- 改进了“阅读我”。
1.2
- 修复了地图生成错误。
- 修复了清理逻辑。
- 修复了在禁用和重新启用清理时丢失清理设置的UI。
- 进行了细微的UI调整。
1.1
- 改进了 readme.txt。添加了截图。
1.0
- 第一个版本
升级通知
2.2.3
Nginx Helper 2.2.3,修复了保存导航菜单、清除CPT日期存档以及当文章被删除且传递的URL作为参数通过 "rt_nginx_helper_purge_cached_file" 钩子时清除页面和文章URL的性能问题。