以前使用大鸟博客给出的方案一直可行,可能是太久了或者是腾讯云系统镜像本身的因素,参照此法重新编译Nginx一直安装失败,其它厂家VPS暂未测。

安装PageSpeed

PageSpeed模块下载

版本使用的是1.13.35.2,ssh终端连接服务器,cd到 server目录并下载 PageSpeed

cd /www/server
wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz

运行解压命令,也可以直接到宝塔文件管理中去解压,

tar xzf v1.13.35.2-stable.tar.gz

解压后记得重命名文件夹为:
incubator-pagespeed-ngx-1.13.35.2-stable
进入目录并下载 psol扩展库,

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz

同样解压扩展库压缩包,也可以在宝塔文件界面操作,这个解压出来的文件夹名为 psol,不需要修改。

编辑nginx安装脚本

宝塔进入文件目录 /www/server/panel/install,查看nginx.sh是否完整,如果不完整将它删除,远程下载。

ssh终端上的操作:

cd /www/server/panel/install
wget http://download.bt.cn/install/0/nginx.sh

编辑 nginx.sh文件,最新版在第254行,在 ${ENABLE_LUA}后面添加
--add-module=/www/server/incubator-pagespeed-ngx-1.13.35.2-stable
删除行末尾的 ${NGX_PAGESPEED},注意格式不要错,每个模块之间都有空格键。

重新编译Nginx

保存文件后回到ssh终端重新编译Nginx,最好暂时关闭站点,以免造成不必要的麻烦。

cd /www/server/panel/install
bash nginx.sh install 1.18

1.18为版本号,请确认好自己原有的版本并做修改。编译完成后,会有Nginx staring的字样。请自行检查是否安装成功,输入 nginx -V ,会返回以下相应的信息,

[root@VM-0-8-centos ~]# nginx -V
nginx version: nginx/1.18.0
built by gcc 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) 
built with OpenSSL 1.1.1i  8 Dec 2020
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/ngx_brotli --add-module=/www/server/incubator-pagespeed-ngx-1.13.35.2-stable --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module

PageSpeed安装成功

如果有显示上图红色框中内容,说明已经编译成功。

网上的PageSpeed配置千篇一律,因为各人使用的环境不同,所以并没有统一的优化方案。有些方案适合作者本人,却并不适合你,也只能是自己去摸索尝试。

PageSpeed配置参考

最后贴出本人站点配置文件中的 PageSpeed配置,本人环境为


系统:CentOS 8
站点环境:宝塔面板7.51
PHP版本:7.4
Nginx版本:1.18
MySQL版本:5.6
博客源码:TypeCho 1.2


,仅供参考,切记不要一味的复制粘贴,还是那句话,适合我用的并不适合你。

# pagespeed配置开启,on启用,off关闭
pagespeed on;
# 重置 http Vary 头
# pagespeed RespectVary on;
#2021新增内容------------------------------------------
#PageSpeed能够根据响应头中指定的任何内容安全策略调整其优化
pagespeed HonorCsp on;
# 启用 样式属性/CSS/JavaScript/Images 重写,其它功能的先决开关
pagespeed EnableFilters rewrite_style_attributes,rewrite_css,rewrite_javascript,rewrite_images;
# 将JPEG图片转化为webp格式
pagespeed EnableFilters convert_jpeg_to_webp;
# 将动画Gif图片转化为动画webp格式
pagespeed EnableFilters convert_to_webp_animated;
pagespeed EnableFilters responsive_images,resize_images;
pagespeed EnableFilters insert_image_dimensions;
pagespeed EnableFilters resize_rendered_image_dimensions;
pagespeed EnableFilters strip_image_meta_data;
pagespeed EnableFilters convert_jpeg_to_webp,convert_to_webp_lossless,convert_to_webp_animated;
pagespeed EnableFilters sprite_images;
pagespeed EnableFilters convert_png_to_jpeg,convert_jpeg_to_webp;
#让JS里引用的图片也加入优化
pagespeed InPlaceResourceOptimization on;   
pagespeed EnableFilters in_place_optimize_for_browser;  
#2021内容结束------------------------------------------
# html字符转小写
pagespeed LowercaseHtmlNames on;
# 压缩带 Cache-Control: no-transform 标记的资源
pagespeed DisableRewriteOnNoTransform off;
# 相对URL
# pagespeed PreserveUrlRelativity on;
pagespeed XHeaderValue "Powered By LaPuHou";
# 启用Redis缓存
pagespeed RedisServer "127.0.0.1:6379";
###########缓存2021 ##########
#相当于同时使用了extend_cache_images, extend_cache_scripts和 extend_cache_css
pagespeed EnableFilters extend_cache;
pagespeed EnableFilters extend_cache_pdfs;
pagespeed EnableFilters local_storage_cache;
# 开启 https
pagespeed FetchHttps enable;
# 配置服务器缓存位置和自动清除触发条件(空间大小、时限)
pagespeed FileCachePath "/var/ngx_pagespeed/";
pagespeed FileCacheSizeKb 2048000;
pagespeed FileCacheCleanIntervalMs 43200000;
pagespeed FileCacheInodeLimit 500000;
# 过滤规则
pagespeed RewriteLevel PassThrough;
# 过滤typecho的/admin/目录(可选配置,可参考使用)
pagespeed Disallow "*/admin/*";
pagespeed Disallow "*/yzdp/*";
# 移除不必要的url前缀,开启可能会导致某些自动加载功能失效
# 此项影响,开启后 Pjax 功能完全失效!
#pagespeed EnableFilters trim_urls;
# 移除 html 空白
pagespeed EnableFilters collapse_whitespace;
# 移除 html 注释
pagespeed EnableFilters remove_comments;
# DNS 预加载,测试无效
# pagespeed EnableFilters insert_dns_prefetch;
# 压缩CSS
pagespeed EnableFilters rewrite_css;
# 合并CSS,与Brotli冲突
pagespeed EnableFilters combine_css;
# 重写CSS,优化加载渲染页面的CSS规则,与Brotli冲突
pagespeed EnableFilters prioritize_critical_css;
# google字体直接写入html 目的是减少浏览器请求和DNS查询
pagespeed EnableFilters inline_google_font_css;
# 压缩js
pagespeed EnableFilters rewrite_javascript;
# 合并js,与Brotli冲突
pagespeed EnableFilters combine_javascript;
# 优化内嵌样式属性
pagespeed EnableFilters rewrite_style_attributes;
# 压缩图片
pagespeed EnableFilters rewrite_images;
# 不加载显示区域以外的图片
pagespeed LazyloadImagesAfterOnload on;
# 图片预加载
# pagespeed EnableFilters inline_preview_images;
# 移动端图片自适应重置
# pagespeed EnableFilters resize_mobile_images;
# 图片延迟加载
# pagespeed EnableFilters lazyload_images;
# 雪碧图片,图标很多的时候很有用
# pagespeed EnableFilters sprite_images;
# 扩展缓存 改善页面资源的可缓存性
pagespeed EnableFilters extend_cache;

# pagespeed规则,不能删
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
#下面4条为新增
location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
location /pagespeed_console { allow 127.0.0.1; deny all; }
location ~ ^/pagespeed_admin { allow 127.0.0.1; deny all; }
location ~ ^/pagespeed_global_admin { allow 127.0.0.1; deny all; }
# pagespeed配置完毕
最后修改:2021 年 03 月 18 日 04 : 18 PM
如果觉得我的文章对你有用,请随意赞赏
END
本文作者:
文章标题:宝塔7.51重编译Nginx添加pagespeed模块
本文地址:https://lapuhou.com/wlbj/176.html
版权说明:若无注明,本文皆拉普猴原创,转载请保留文章出处。