本文所有操作均基于宝塔面板环境下完成,但参数对于自编译的Nginx也可生效
宝塔默认的Nginx编译参数已经可以满足大部分人的需求,但对我而言,它还缺少Brotli
和PageSpeed
这两个常用的模块。本文将介绍如何编译支持这两个模块的Nginx。
1.Brotli的编译
cd /root
git clone https://github.com/bagder/libbrotli
cd libbrotli
./autogen.sh
./configure
make && make install
cd /root
git clone https://github.com/google/ngx_brotli
cd ngx_brotli
git submodule update --init
将这段代码保存为shell文件
并执行,即可编译安装所需的Brotli模块
。
2.PageSpeed的编译
#[check the release notes for the latest version]
NPS_VERSION=1.13.35.2-stable
cd
wget https://github.com/apache/incubator-pagespeed-ngx/archive/v${NPS_VERSION}.zip
unzip v${NPS_VERSION}.zip
nps_dir=$(find . -name "*pagespeed-ngx-${NPS_VERSION}" -type d)
cd "$nps_dir"
NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url}) # extracts to psol/
其中的变量NPS_VERSION
可以在PageSpeed的发布日志中找到,一般建议使用stable
版本。
3.Nginx的编译
在你之前的Nginx编译参数后追加
--add-module=/www/server/ngx_brotli --add-module=/root/incubator-pagespeed-ngx-1.13.35.2-stable
在宝塔中,你可以修改/www/server/panel/install/nginx.sh
文件来对Nginx的编译参数进行修改,就我而且,其位于75行。随后使用sh /www/server/panel/install/nginx.sh install $(欲安装的Nginx版本号)
来安装Nginx。如果你已经安装过Nginx,则应当将install
替换为update
。 如果是自行编译Nginx
,你应当按照你之前的编译方式重新编译。注意,编译前应当关闭旧的Nginx进程。 随后,你可以使用nginx -V
来检验新的参数是否已被应用。
4.总结及参考资料
简而言之,就是使用--add-module
来添加模块 对宝塔而言,大部分运行环境都可以在/www/server/panel/install/
下找到安装脚本,对这些脚本进行修改可以简单地改变编译参数,在宝塔官方支持修改编译参数之前,可做权宜之计。 在本文的撰写过程中,参考有 [1]宝塔面板-换一种宝塔方式编译brotli的教程[2]Build ngx_pagespeed From Source[3]PageSpeed Release Notes
发表回复