Hello, this is the step-by-step guide to install Nginx with the PageSpeed Module on Ubuntu 24.04.2 LTS x86_64 (Nginx 1.24.0)
Use compile mode to install and add ngx_pagespeed
Module Name: ngx_pagespeed
Module Details: ngx_pagespeed
Module Parameter: --add-dynamic-module=/www/server/incubator-pagespeed-ngx
Script: (For x86_64 Architecture)
cd /www/server/
git clone https://github.com/apache/incubator-pagespeed-ngx.git
cd incubator-pagespeed-ngx
wget https://github.com/netvpc/psol/releases/download/psol-1.15.0.0/psol-1.15.0.0-x86_64-glib-2.36.tar.gz
tar -xzvf psol-1.15.0.0-x86_64-glib-2.36.tar.gz
sed -i 's/x86_64/' config
sed -i 's/x64/' config
sed -i 's/-luuid/-l:libuuid.so.1/' config
cd ..
Script: (For aarch64 Architecture)
git clone https://github.com/apache/incubator-pagespeed-ngx.git
cd incubator-pagespeed-ngx
wget https://gitlab.com/gusco/ngx_pagespeed_arm/-/raw/master/psol-1.15.0.0-aarch64.tar.gz
tar xvf psol-1.15.0.0-aarch64.tar.gz
sed -i 's/x86_64/aarch64/' config
sed -i 's/x64/aarch64/' config
sed -i 's/-luuid/-l:libuuid.so.1/' config
cd ..
Script: (For armv7l Architecture)
sudo apt install uuid (install uuid first if building on Raspbian)
git clone https://github.com/apache/incubator-pagespeed-ngx.git
cd incubator-pagespeed-ngx
wget https://gitlab.com/gusco/ngx_pagespeed_arm/-/raw/master/psol-1.15.0.0-armv7l.tar.gz
tar xvf psol-1.15.0.0-armv7l.tar.gz
sed -i 's/x86_64/armv7l/' config
sed -i 's/x64/armv7l/' config
sed -i 's/-luuid/-l:libuuid.so.1/' config
cd ..


nginx -V

Check headers or https://ismodpagespeedworking.com/ to verify PageSpeed Module status.

Go to the Nginx > Config file and add the below code at the top
load_module modules/ngx_pagespeed.so;
Add your Pagespeed filters under http {
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;

Then restart Nginx service

Don't forget to add the PageSpeed filters according to your needs.
#Disable CoreFilters
pagespeed RewriteLevel PassThrough;
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters canonicalize_javascript_libraries;
pagespeed EnableFilters combine_css;
pagespeed EnableFilters combine_javascript;
pagespeed EnableFilters elide_attributes;
pagespeed EnableFilters extend_cache;
pagespeed EnableFilters flatten_css_imports;
pagespeed CssFlattenMaxBytes 5120;
pagespeed EnableFilters lazyload_images;
pagespeed EnableFilters rewrite_javascript;
pagespeed EnableFilters insert_dns_prefetch;
pagespeed EnableFilters prioritize_critical_css;
#Example Disable pagespeed processing/wp admin/directory (optional configuration, refer to)
pagespeed Disallow "/wp-admin/";
#######Image Processing Configuration########
pagespeed EnableFilters lazyload_images;
pagespeed EnableFilters rewrite_images;
pagespeed EnableFilters convert_jpeg_to_webp;
pagespeed EnableFilters convert_to_webp_animated;
pagespeed EnableFilters inline_preview_images;
#Mobile terminal image
pagespeed EnableFilters resize_mobile_images;
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;