greenpeace / planet4-nginx-helper
从rtcamp/nginx-helper克隆。在编辑/发布帖子时清除nginx的fastcgi/proxy缓存或redis缓存。还有其他一些功能。
Requires
- php: >=5.3.2
- composer/installers: ^1.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-07 19:40:50 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
标签: 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缓存。还有其他一些功能。
描述
- 在使用nginx的WordPress中,从固定链接中删除
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(子域名/domain-mapping)+ fastcgi_purge_cache
- 其他WordPress-Nginx教程
安装
自动安装
- 登录到您的WordPress管理面板,导航到插件菜单,然后单击添加新插件。
- 在搜索框中输入“Nginx Helper”,然后单击搜索插件。从搜索结果中,选择Nginx Helper,然后单击立即安装。Wordpress将提示您确认以完成安装。
手动安装
- 解压zip文件。
- 将它们上传到WordPress安装上的
/wp-content/plugins/
目录。 - 然后从插件页面激活插件。
为了正确配置,请查看我们在描述选项卡中的教程列表。
常见问题解答
重要 - 请参阅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插件设置
2. 剩余设置
变更日志
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
- 修复了 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 提交 - 在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
1.9.10
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
- 增加了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的社交插件的冲突
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增加了清除atom和RDF源的功能。
1.6.11
- 从管理屏幕中删除了注释,因为从3.5版开始它干扰了媒体上传。
1.6.10
- 清理了代码。
- 为代码添加了致谢。
- 改进了附件清除。
1.6.9
- 增加了“清除所有”按钮的Faux,以避免误导用户。
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
- 在改进的多站点和多域名映射的修订代码中修复了另一个bug。
1.6.1
- 在改进的多站点和多域名映射的修订代码中修复了bug。
1.6
- 修订了改进的多站点和多域名映射的代码。
1.5
- 时间戳现在只添加到content-type text/html
- 增加了切换时间戳创建的选项
1.4
- 修复了与评论状态名称相关的bug,导致清除失败。
1.3.9
- 删除了多余的标题。
1.3.8
- 修复了单篇/页面/文章类型清除代码中的bug。感谢Greg指出这一点: http://rtcamp.com/support/topic/updating-post-nginx-helper-purge-cache-post/。
1.3.7
- 将操作挂钩改回“shutdown”,从“wp_footer”添加验证注释。
- 添加了一个检查,以防止向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.2
Nginx Helper 2.2.2,添加新的 "rt_nginx_helper_after_purge_all" 动作,并修复了设置未保存的问题,因为按钮的值被本地化(任何语言)并且 "自定义清除URL" 选项显示前一个值。