加快WordPress静态文件的读取速度

标签: 

正在查看 10 个帖子:1-9 (共 9 个帖子)
  • 作者
    帖子
  • 孙锡源
    • 文章数量: 704
    @ibadboy
    楼主

    2021年7月8日更新:

    这篇帖子不用看了,是老夫大意及才疏学浅了,其实WordPress官方推荐的伪静态规则并不存在这个问题。


    这篇帖子不是教你用CDN的,而是通过配置本地Nginx实现让WordPress的静态文件直接从磁盘读取,而不经过PHP中转,这样一可以加快速度二可以降低服务器负载,效果很显著哦,尤其是对处在境外,未配置CDN和动静分离的站点。

    添加如下配置内容即可:

    location ^~ /wp-(content|admin|includes) {
        root 你的网站绝对路径/$1;
    }

    PS:有人质疑说这些主机面板默认就只给.php文件调用了PHP-FPM,所以这个配置是无效的。这里简单解释下,有兴趣可以观察一下WordPress默认的伪静态规则,它将所有请求全部重写给了index.php,于是不管你访问的是什么URL,你实际访问的都是index.php,之后再由WordPress核心进行路由。所以上面这条配置的作用就是让静态资源不经过index.php,而直接在Nginx层就被处理。

    已知问题

    该配置会在存在rocket缓存插件的情况下失效,具体原因暂时没时间研究。

    来自张家口市, 河北省, 中国
    rawchen
    • 文章数量: 196
    @rawchen

    这添加到nginx的配置文件里吗?

    来自成都, 四川省, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy
    楼主

    是的。
    如果已经做了动静分离,把静态文件迁移到cdn或者云存储了就不需要配置了

    来自张家口市, 河北省, 中国
    rawchen
    • 文章数量: 196
    @rawchen

    我用了rocket静态缓存插件

    来自成都, 四川省, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy
    楼主

    这是两码事。即便你启用了rocket,在默认状态下用户加载css、js、图片这些资源也会经过php脚本处理。
    这是由WordPress默认的伪静态规则决定的——他将所有请求重写到index.php再由WordPress核心进行路由。

    来自张家口市, 河北省, 中国
    cgq630105023
    • 文章数量: 51
    @cgq630105023

    /data/php/sites/litepress.cn/www/$1;   这个指得是网站跟目录吗???

     

     

    如我的 root /www/wwwroot/www.xxxx.cn/$1;

    来自西宁市, 青海省, 中国
    qwer1720346159
    • 文章数量: 46
    @qwer1720346159
    location ^~ /wp-(content|admin|includes) {
        root $1;
    }

    通用版本来了,快夸我。

    来自福州市, 福建省, 中国
    cgq630105023
    • 文章数量: 51
    @cgq630105023

    6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

    来自西宁市, 青海省, 中国
    孙锡源
    • 文章数量: 704
    @ibadboy
    楼主

    确实没必要写绝对路径,是我老糊涂了

    来自张家口市, 河北省, 中国
    2463924619
    • 文章数量: 31
    @2463924619

    感觉好像确实快了 666

    来自海淀, 北京市, 中国
正在查看 10 个帖子:1-9 (共 9 个帖子)
  • 哎呀,回复话题必需登录。

话题信息