宝塔面板-换一种宝塔方式编译brotli的教程

宝塔面板3字数 3050阅读模式

今天大鸟在后台升级Nginx版本到Nginx 1.15.8,不过升级好之后,Nginx 不能启动。大鸟手动启动却跳出了错误,如下:

ERROR:
nginx: [emerg] unknown directive "brotli" in /www/server/panel/vhost/nginx/www.daniao.org.conf:74
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

额,之前,大鸟在Nginx 1.15.6上面编译安装了brotli,现在升级了版本之后,反而出现了这个问题,造成了之前brotli的模块丢失,不知道这是不是新版本的bug。不过好在,大鸟编译过这一个模块,所以之前安装的环境都在,我们只要重新编译下就可以了。

如果还用之前的方式安装没有新意。今天我们换个很“宝塔”的方式来重新编译安装这个brotli模块。

传送门:

如果你找到这篇文章,请移步最新的教程,但是这篇文章还可以参考。

第一:下载ngx_brotli模块及其依赖

cd /www/server
git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init

第二:获取Nginx Arguments

我们输入命令,如下:

nginx -V

v是大写,这里要注意下。大鸟发现确实以前编译的brotli模块在Nginx 1.15.8看不到了。

宝塔面板-换一种宝塔方式编译brotli的教程

第三:编辑配置

这里我们可以有两个方法。

  1. vi /www/server/panel/install/nginx.sh
  2. 直接编辑nginx.sh文件,路径:/www/server/panel/install

宝塔面板-换一种宝塔方式编译brotli的教程

在你需要安装的Nginx版本下增加:--add-module=/www/server/ngx_brotli

if [ "${nginxVersion}" != "1.8.1" ];then
		if [ "${nginx_version}" == "1.14.2" ] || [ "${nginx_version}" == "1.12.2" ];then
			./configure --user=www --group=www --prefix=${Setup_Path} --with-openssl=${Setup_Path}/src/openssl --add-module=${Setup_Path}/src/ngx_devel_kit --add-module=${Setup_Path}/src/lua_nginx_module --add-module=${Setup_Path}/src/ngx_cache_purge --add-module=${Setup_Path}/src/nginx-sticky-module --add-module=${Setup_Path}/src/nginx-http-concat --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_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-pcre=pcre-${pcre_version} ${jemallocLD}
		elif [ "${nginxVersion}" == "1.15.8" ]; then
			./configure --user=www --group=www --prefix=${Setup_Path} --with-openssl=${Setup_Path}/src/openssl --add-module=${Setup_Path}/src/ngx_devel_kit --add-module=${Setup_Path}/src/lua_nginx_module --add-module=${Setup_Path}/src/ngx_cache_purge --add-module=${Setup_Path}/src/nginx-sticky-module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_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-openssl-opt="enable-tls1_3 enable-weak-ssl-ciphers" ${jemallocLD} --add-module=/www/server/ngx_brotli
		else

如果是Nginx 1.15.8在167行即可找到。如图:

宝塔面板-换一种宝塔方式编译brotli的教程

在最后加上--add-module=/www/server/ngx_brotli

第四:编译Nginx

重新编译Nginx,我们需要选择好自己的版本,大鸟的是Nginx1.15.8。命令如下:

sh /www/server/panel/install/nginx.sh install 1.15

安静等待编译完成。如图:

宝塔面板-换一种宝塔方式编译brotli的教程

这样我们就编译完成了brotli模块。

当然,安装好之后,我们需要使用brotli模块,因为之前大鸟写了相关的文章,这里就不在啰嗦了,我们可以移步这里:

宝塔面板6.8.8 NGINX自编译Brotli压缩-提高压缩比加速网站  我们可以在这篇文章的 第五、配置Brotli压缩 中找到方法!

第五:总结

编译brotli,大鸟全程用的是宝塔SSH终端,这也说明这个插件还是可以用用的,起码编译模块的时候会方便很多。

用这种方法,来编译模块,还是很方便的,大鸟之前说的方法到是很啰嗦了。对于宝塔面板来说,我们用最简单的方法才是好的方法。

当然,如果你开启了Brotli压缩,不妨再开启TLSV1.3,如果你不会可以看看这篇文章:宝塔面板之网站优化加速-开启TLSV1.3

同时开启TLSV1.3和Brotli压缩,对于提升网站的打开速度还是有一丢丢帮助的,提升网站打开速度是一个系统工作,我们需要在细节方面不停的完善优化,而不是只优化一个地方,只有每个地方都优化到位了,才会有立竿见影的效果。

weinxin
我的微信
微信公众号
关注大鸟博客公众号
 最后更新:2019-11-14
大鸟
评论  3  访客  2  作者  1
    • 三石
      三石 5

      结合大鸟兄的这两篇文章,20分钟内一次性搞定。
      我的是Nginx 1.15.10。/www/server/panel/install,nginx.sh在74行

      • 来客
        来客 2

        为什么我在配置文件里面添加了,保存的时候还是会提示你那个错误!

          • 大鸟
            大鸟

            @ 来客 看我最新的文章:https://www.daniao.org/7265.html

        匿名

        发表评论

        匿名网友

        :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

        确定