我的编程空间,编程开发者的网络收藏夹
学习永远不晚
位置:首页-资讯-开源

WordPress速度优化-Nginx fastcgi_cache缓存加速

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

WordPress速度优化-Nginx fastcgi_cache缓存加速

高并发网站架构的核心原则其实就一句话“把所有的用户访问请求都尽量往前推“,即:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态服务器。以此类推:能不访问数据库和存储就一定不要去访问数据库和存储。

WordPress最好的优化方式就是尽量不安装插件,Wordpress是典型的php-mysql应用,去做数据库缓存,倒不如让轻量级的Nginx直接去缓存WordPress内容。

Nginx内置FastCgi缓存,但是不支持自动清除缓存。当你在Wordpress里面新建/修改一篇文章,或者访客提交评论的时候,自动清空相关的缓存是必要的!Nginx需要安装ngx_cache_purg+量身定做的WordPress缓存清理插件:Nginx Helper。

1. 安装Nginx ngx_cache_purge模块

1)查看ngx_cache_purge是否安装

nginx -V 2>&1 | grep -o ngx_cache_purge

显示ngx_cache_purge表示已经安装

2)安装ngx_cache_purge模块

《OneinStack》和《lnmp一键安装包》下安装ngx_cache_purge模块


复制代码代码如下:

cd /root/oneinstack/class="lazy" data-src

wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

wget http://nginx.org/download/nginx-1.9.10.tar.gz

tar xzf ngx_cache_purge-2.3.tar.gz

tar xzf nginx-1.9.10.tar.gz

cd nginx-1.9.10

nginx -V #查看nginx编译参数,最后加上--add-module=../ngx_cache_purge-2.3

./configure --prefix=/usr/local/nginx --user=www --group=www \

--with-http_stub_status_module --with-http_v2_module --with-http_ssl_module \

--with-ipv6 --with-http_gzip_static_module --with-http_realip_module \

--with-http_flv_module --with-ld-opt=-ljemalloc \

--add-module=../ngx_cache_purge-2.3

make #编译

mv /usr/local/nginx/sbin/nginx{,_`date +%F`} #备份nginx

cp objs/nginx /usr/local/nginx/sbin

nginx -V 2>&1 | grep -o ngx_cache_purge

# 显示ngx_cache_purge表示已经安装成功

2. Nginx配置

建议将fastcgi_cache_path设置tmpfs内存中,操作系统不同tmpfs路径也不同,如下:

 

 CentOS:/dev/shm

Ubuntu和Debian:/run/shm

修改nginx虚拟主机配置文件/usr/local/nginx/conf/vhost/blog.linuxeye.com.conf:


复制代码代码如下:

fastcgi_cache_path /dev/shm/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;

fastcgi_cache_key "$scheme$request_method$host$request_uri";

fastcgi_cache_use_stale error timeout invalid_header http_500;

fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

server {

listen 443 ssl http2;

ssl_certificate /usr/local/nginx/conf/vhost/linuxeye_blog.crt;

ssl_certificate_key /usr/local/nginx/conf/vhost/linuxeye_blog.key;

ssl_ciphers "CHACHA20:GCM:HIGH:!DH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS";

ssl_session_cache shared:SSL:10m;

ssl_session_timeout 10m;

#ssl_stapling on;

#ssl_stapling_verify on;

resolver 8.8.8.8 8.8.4.4 valid=300s;

resolver_timeout 5s;

server_name blog.linuxeye.com;

access_log /home/wwwlogs/blog_nginx.log combined;

index index.html index.htm index.php;

include wordpress.conf;

root /home/wwwroot/blog;

set $skip_cache 0;

if ($request_method = POST) {

set $skip_cache 1;

}

if ($query_string != "") {

set $skip_cache 1;

}

if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {

set $skip_cache 1;

}

if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {

set $skip_cache 1;

}

location ~ [^/]\.php(/|$) {

#fastcgi_pass remote_php_ip:9000;

fastcgi_pass unix:/dev/shm/php-cgi.sock;

fastcgi_index index.php;

include fastcgi.conf;

fastcgi_cache_bypass $skip_cache;

fastcgi_no_cache $skip_cache;

fastcgi_cache WORDPRESS;

fastcgi_cache_valid 60m;

}

location ~ /purge(/.*) {

allow 127.0.0.1;

deny all;

fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {

expires 30d;

access_log off;

}

location ~ .*\.(js|css)?$ {

expires 7d;

access_log off;

}

}

使nginx配置生效

 


复制代码代码如下:

service nginx reload

重启系统后shm内存中nginx-cache文件夹会丢失,为了使重启生效(自动创建文件夹),修改/etc/init.d/nginx的make_dirs下一行添加:


复制代码代码如下:

[ ! -d '/dev/shm/nginx-cache' ] && { mkdir /dev/shm/nginx-cache; chown -R ${user}.$user /dev/shm/nginx-cache; }

3. WordPress安装Nginx Helper插件

WordPress后台【插件】—【安装插件】搜索【Nginx Helper】安装即可。如下设置:

修改wordpress网站根目录wp-config.php添加如下行: 


复制代码代码如下:

define('RT_WP_NGINX_HELPER_CACHE_PATH','/dev/shm/nginx-cache');

4. 测试

测试时候勾选Enable Logging(记录日志)、Enable Nginx Timestamp in HTML(插入缓存信息)

查看Nginx Helper是否刷新日志:

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

WordPress速度优化-Nginx fastcgi_cache缓存加速

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

WordPress速度优化-Nginx fastcgi_cache缓存加速

高并发网站架构的核心原则其实就一句话“把所有的用户访问请求都尽量往前推“,即:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不
2022-06-12

深度探析HTML缓存机制:优化网页加载速度

HTML缓存机制解析:让网页加载速度更快,需要具体代码示例摘要:在互联网时代,网页加载速度成为用户体验的重要指标。为了提高网页的加载速度,HTML缓存机制成为一种有效的优化方式。本文将详细解析HTML缓存机制的原理,并提供具体的代码示例以
深度探析HTML缓存机制:优化网页加载速度
2024-01-23

如何使用PHP开发缓存优化图片加载速度

如何使用PHP开发缓存优化图片加载速度随着互联网的快速发展,网页加载速度成为用户体验的重要因素之一。而图片加载速度是影响网页加载速度的重要因素之一。为了加速图片的加载,我们可以使用PHP开发缓存来优化图片加载速度。本文将介绍如何使用PHP开
如何使用PHP开发缓存优化图片加载速度
2023-11-08

wordpress速度优化的技巧有哪些

优化WordPress网站的速度可以采取以下技巧:1. 使用高效的主题:选择一个轻量级、优化良好的主题,避免使用过于复杂、功能繁多的主题。2. 压缩和合并静态文件:使用压缩工具来压缩CSS和JavaScript文件,减小文件大小。同时,将多
2023-10-10

Centos7中怎么优化磁盘缓存读写速度

今天小编给大家分享一下Centos7中怎么优化磁盘缓存读写速度的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Linux中的/
2023-06-27

加速WordPress技巧:Redis缓存输出的HTML页面

Redis是一个高级的key-value存储系统,类似memcached,所有内容都存在内存中,因此每秒钟可以超过10万次GET操作。我下面提出的解决方案是在Redis中缓存所有输出的HTML 内容而无需再让WordPress重复执行页面脚
2022-06-12

WordPress性能优化加速五大方法:PHP MysqL优化等

WordPress是当今最流行的建站博客程序,功能强大,上手容易,各种主题uUCrhz和插件等应有尽有,有关Wordpress的相关文档也是多如牛毛,可以说Wordpress是我们建站的首选程序。当然Wordpress性能也是一uUCrhz
2022-06-12

Centos7利用内存优化磁盘缓存读写速度的方法

linux中的/dev/shm目录不属于磁盘,而是内存,如果使用/dev/shm/目录作为Linux中的磁盘文件读写缓存,可想效率是非常惊人的。 默认/dev/shm目录没有挂载,需要手动进
2022-06-04

优化WordPress数据库提升网站运行速度

WordPress的文章、评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数yLBpTlaAo据库中主要使用 wp_posts 表来存储日志,页面,附件
2022-06-12

phpcms如何进行缓存优化以提高网站响应速度?(phpcms中应如何进行缓存策略的优化以提升网站响应速度?)

PHPCMS提供多种缓存机制来提升网站响应速度,包括文件缓存、数据库缓存、Memcached缓存、Redis缓存、页面缓存、Minify优化和CDN缓存。这些策略减少服务器负载,加快页面加载,从而提升用户体验。此外,优化数据库查询、使用CDN、启用GZIP压缩和优化服务器配置等技巧也能进一步提升响应速度。
phpcms如何进行缓存优化以提高网站响应速度?(phpcms中应如何进行缓存策略的优化以提升网站响应速度?)
2024-04-02

ASP 页面片段缓存的艺术:优化网站响应速度

ASP 页面片段缓存的艺术:优化网站响应
ASP 页面片段缓存的艺术:优化网站响应速度
2024-02-21

改善系统响应速度,优化二级缓存更新策略

随着互联网技术的发展,越来越多的系统和应用程序需要处理大量的数据。而为了提升系统的响应速度,减少数据访问的时间,开发人员常常会使用缓存机制来优化系统性能。其中,二级缓存是一种常用的缓存机制,它位于应用程序与数据库之间,用于缓存访问数据库得到
改善系统响应速度,优化二级缓存更新策略
2024-01-30

如何使用PHP开发缓存优化API接口响应速度

随着网络和移动设备的普及,API接口已经成为了现代应用程序中不可或缺的一部分。然而,随着API接口的使用越来越普遍,对接口的响应速度的要求也越来越高。要实现响应速度的优化,使用缓存是至关重要的。本文将介绍如何使用PHP开发缓存优化API接口
如何使用PHP开发缓存优化API接口响应速度
2023-11-07

编程热搜

  • wordpress错位如何解决
    这篇文章主要介绍“wordpress错位如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“wordpress错位如何解决”文章能帮助大家解决问题。wordpress
    wordpress错位如何解决
  • 帝国cms调用栏目别名的修改步骤
    请留意下面的修改方法 修改后栏目别名使用 !--bname--] 调用 打开e/class/t_functions.php搜索定位到带模板的栏目导航标签修改1复制代码代码如下://替换变量$bclassname=$class_r[$clas
    帝国cms调用栏目别名的修改步骤
  • 动易Cms MAC验证视图失败的解决方法
    “/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 验证视图状态 MAC
    动易Cms  MAC验证视图失败的解决方法
  • DEDECMS如何支持中文水印
    DEDECMS如何支持中文水印?修改/include/inc_photograph.php,在165行处加这行代码:$w_text = iconv("GB2312","UTF-8",$w_text);OK,现在可以用中文做水印了,但默认的字体大小是5,中文字体
    DEDECMS如何支持中文水印
  • 快速了解Discuz!程序文件功能
    相信有不少人热衷于基于修改原有系统文件所做的插件,当然了解程序文件功能是最重要的,下面我把Discuz! X2.0主要的程序文件功能说一下。Tips:Q:针对说明的文件是?A:我只基于原版文件对upload目录中基本的程序文件(php,ht
    快速了解Discuz!程序文件功能
  • DedeCMS编辑器fck更换成eWebEditor编辑器具体步骤
    将eWebEditor编辑器插入DEDE后台的效果: 完全Word在线编辑的功能,让你从此摆脱发可编辑器卡得死,进入流畅干净编辑界面新时代。 下面是具体步骤: 首先,你要知道eWebEditor是一个什么工具。 eWebEditor是由国
    DedeCMS编辑器fck更换成eWebEditor编辑器具体步骤
  • 允许 WordPress 上传任意文件的方法
    此时如果上传一个不在预定义编程客栈的安全扩展名列表,如.lrc,会报kAtKhHRl错: F编程客栈ile type does not meet security guidelines. Try another. 解决此问题有两方法: 在
    允许 WordPress 上传任意文件的方法
  • dedecms 软件下载模块中添加下载方式为迅雷下载联盟代码
    修改 /plus/download.php 文件 www.cppcns.com查找
    dedecms 软件下载模块中添加下载方式为迅雷下载联盟代码
  • dedecms网站tag标签全部静态化的解决方法
    更改tags.php文件在根目录 找到$tag = FilterSearch(urldecode($tag)); 替换为:$tag = urldecode($tag); 更改文件arc.taglist.class.php文件文件所在的路径是
    dedecms网站tag标签全部静态化的解决方法
  • 帝国CMS远程保存图片的方法
    本文实例讲述了帝国cms远程保存图片的方法。分享给大家供大家参考。 具体实现方法如下:复制代码代码如下:
    帝国CMS远程保存图片的方法

目录