在GCP的Bitnami WordPress(Debian环境)中安装Nginx版Google PageSpeed模块的方法及相关疑问
嘿,别慌!先给你吃个定心丸:完全不需要重装Nginx——Bitnami的Nginx是独立打包在/opt/bitnami目录下的自包含环境,我们只需要给它编译并加载PageSpeed动态模块就行,不用动系统自带的Nginx,也不用重新安装整个Bitnami Nginx。
下面是针对低代码水平用户的超详细步骤,跟着一步步来就行:
一、准备编译依赖
首先要安装编译模块需要的基础工具,执行以下命令:
sudo apt update && sudo apt install -y build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
二、获取当前Bitnami Nginx的版本和编译参数
PageSpeed模块必须和Nginx版本完全匹配,还要用相同的编译参数才能正常加载,执行命令:
/opt/bitnami/nginx/sbin/nginx -V
注意输出里的**configure arguments:**部分,把这一串参数复制下来(比如--prefix=/opt/bitnami/nginx --with-http_ssl_module ...),后面编译要用。
三、下载Nginx源码和PageSpeed模块源码
我们在临时目录里进行编译操作,避免污染系统:
- 创建并进入编译目录:
sudo mkdir -p /tmp/nginx-build && cd /tmp/nginx-build
- 自动获取当前Nginx版本并下载对应源码:
NGINX_VERSION=$( /opt/bitnami/nginx/sbin/nginx -v 2>&1 | cut -d'/' -f2 ) sudo wget http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz sudo tar -xzf nginx-$NGINX_VERSION.tar.gz
- 下载PageSpeed模块稳定版源码:
sudo wget https://github.com/apache/incubator-pagespeed-ngx/archive/refs/tags/v1.13.35.2-stable.tar.gz sudo tar -xzf v1.13.35.2-stable.tar.gz
- 下载PageSpeed预编译库(必须和模块版本匹配):
cd incubator-pagespeed-ngx-1.13.35.2-stable/ sudo wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz sudo tar -xzf 1.13.35.2-x64.tar.gz
四、编译PageSpeed动态模块
回到Nginx源码目录,用之前复制的编译参数加上模块编译指令:
cd ../nginx-$NGINX_VERSION/ sudo ./configure $(/opt/bitnami/nginx/sbin/nginx -V 2>&1 | grep -oP 'configure arguments: \K.*') --add-dynamic-module=../incubator-pagespeed-ngx-1.13.35.2-stable sudo make modules
编译完成后,会在objs目录下生成两个模块文件:ngx_http_pagespeed_filter_module.so和ngx_http_pagespeed_memcached_module.so,把它们复制到Bitnami Nginx的模块目录:
sudo cp objs/ngx_http_pagespeed*.so /opt/bitnami/nginx/modules/
五、配置Nginx加载并启用PageSpeed
- 编辑Bitnami Nginx的主配置文件:
sudo nano /opt/bitnami/nginx/conf/nginx.conf
- 在
events块之前添加加载模块的代码:
load_module modules/ngx_http_pagespeed_filter_module.so; load_module modules/ngx_http_pagespeed_memcached_module.so;
- 在
http块内部添加PageSpeed的基础配置(可以直接加在http块的开头或结尾):
pagespeed on; # 配置PageSpeed缓存目录 pagespeed FileCachePath /opt/bitnami/nginx/cache/pagespeed; # 启用常用的优化过滤器(可选,根据需要调整) pagespeed EnableFilters combine_css,combine_javascript; pagespeed EnableFilters extend_cache; pagespeed EnableFilters rewrite_images;
- 创建PageSpeed缓存目录并设置权限:
sudo mkdir -p /opt/bitnami/nginx/cache/pagespeed sudo chown bitnami:bitnami /opt/bitnami/nginx/cache/pagespeed
六、验证配置并重启Nginx
- 先测试配置是否有语法错误:
sudo /opt/bitnami/nginx/sbin/nginx -t
如果输出nginx: configuration file /opt/bitnami/nginx/conf/nginx.conf test is successful,就说明没问题。
2. 重启Bitnami Nginx服务:
sudo /opt/bitnami/ctlscript.sh restart nginx
七、确认PageSpeed生效
访问你的WordPress站点,用以下命令查看响应头:
curl -I https://your-domain.com # 替换成你的实际域名
如果看到X-Page-Speed: 1.13.35.2-stable这样的响应头,就说明PageSpeed已经成功启用了!
一些重要注意事项
- 以后如果升级Bitnami Nginx,需要重新编译对应版本的PageSpeed模块(因为版本必须严格匹配)
- 不要修改系统自带的Nginx,所有操作都围绕
/opt/bitnami目录下的Bitnami环境进行 - 如果编译过程中出错,先检查依赖是否都安装完整,或者PageSpeed模块版本是否和Nginx版本兼容
备注:内容来源于stack exchange,提问作者pramod kumar chouhan

