nginx和apache添加brotli算法压缩网站-Linux运维-学派吧

有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895

文章目录[隐藏]

  • 什么是brotli?
  • 安装依赖文件[仅限centos]
  • 编译安装brotli库
  • apache/nginx添加编译参数
    • apache/nginx修改配置文件
  • 出错解决办法

什么是brotli?

brotli是Google开发的最新压缩算法,有效减少网站传输数据
具体内容请查看WIKI
https://en.wikipedia.org/wiki/Brotli

安装依赖文件[仅限centos]

yum groupinstall 'Development Tools' -y
yum install cmake -y

编译安装brotli库

wget https://github.com/google/brotli/archive/v1.0.3.tar.gz
tar -zxvf v1.0.3.tar.gz
cd brotli-1.0.3
./configure-cmake
make 
make test 
make install

apache/nginx添加编译参数

 "--enable-brotli"  \
"--with-brotli=/usr/local/lib" \   #apache官方模块,依赖brotli库 

--add-module=../ngx_brotli-master   #添加ngx_brotli模块编译

ngx_brotli模块下载地址
https://github.com/google/ngx_brotli
https://github.com/eustas/ngx_brotli

apache/nginx修改配置文件

http://httpd.apache.org/docs/2.4/mod/mod_brotli.html
apache修改文件 /etc/httpd/conf/extra/httpd-deflate.conf

<IfModule brotli_module> 
 SetOutputFilter BROTLI_COMPRESS;DEFLATE
 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip no-brotli dont-vary
 BrotliCompressionQuality  6
 BrotliCompressionWindow 18
 AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/css text/xml
 AddOutputFilterByType BROTLI_COMPRESS application/x-javascript application/javascript
 AddOutputFilterByType BROTLI_COMPRESS application/rss+xml
 AddOutputFilterByType BROTLI_COMPRESS application/xml
 AddOutputFilterByType BROTLI_COMPRESS application/json
</IfModule>
#nginx配置文件  
    brotli on;
    brotli_types text/html text/plain text/javascript text/css text/xml text/x-component application/javascript application/x-javascript application/xml application/json application/xhtml+xml application/rss+xml application/atom+xml application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
    brotli_static off;
    brotli_comp_level 6;
    brotli_buffers 8 16k;
    brotli_window 512k;
    brotli_min_length 512;

出错解决办法

nginx: error while loading shared libraries: libbrotlienc.so.1: cannot open shared object file: No such file or directory
可行的解决方案之一,是把对应的库文件做软链接:

# 64 位系统  
 ln -s /usr/local/lib/libbrotlienc.so.1 /lib64 
 ln -s /usr/local/lib/libbrotlicommon.so.1  /lib64

# 32 位系统  
ln -s /usr/local/lib/libbrotlienc.so.1 /lib 
ln -s /usr/local/lib/libbrotlicommon.so.1  /lib

重载nginx,若无报错,即问题解决
nginx -s reload

如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/645.html

(0)
打赏 微信扫一扫 微信扫一扫
MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟-Linux运维日志
上一篇 2018年9月30日 下午7:29
下一篇 2018年9月30日 下午7:29

相关推荐

  • ECS云服务器如何禁用公网IP-linux运维-学派吧

    本篇文章给大家带来的内容是关于ECS云服务器如何禁用公网IP,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 ECS云服务器如何禁用公网IP Linux关闭外网网卡的方法 首先使用ifconfig查看下公网的IP对应的网卡名称,这里查看到对应的是 eth1,然后使用 ifdown eth1 即可,然后测试 ping 下公网IP,无法 ping…

    服务器运维 2018年11月21日
    2.9K00
  • 宝塔提示no input file specified 解决方法

    今天给客户开了一个新服务器、安装好宝塔、搬迁好数据库以后,无法打开网页,提示no input file specified,有点郁闷啊。环境、导入数据都是没问题的。怎么会提示这个呢。按了修改php.ini的办法看了下。也不对。 后来删除站点重建建立,在导入数据。解决问题。具体什么问题也不知道。反正供有2个都是这样解决的。

    服务器运维 2018年8月22日
    6.4K00
  • linux环境下如何实现查看和修改时间?-linux教程-学派吧

    本篇文章给大家带来的内容是介绍linux环境下实现查看和修改时间的方法 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1、查看日期和时间 date 2、查看时区 date -R 3、查看UTC时间 date -u 4、修改日期 [root@centos ~]# date -s 20181230 /*显示为:Sun Dec 30 00:0…

    服务器运维 2018年11月21日
    2.0K00
  • 如何处理访问ECS服务器的网站提示-linux运维-学派吧

    本文在介绍如何处理访问ECS服务器的网站提示的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 访问ECS服务器的网站提示“由于你访问的URL可能对网站造成安全威胁,您的访问被阻断” 用户在访问ECS服务器上的网站时,有可能会遇到“很抱歉 由于你访问的URL可能对网站造成安全威胁,您的访问被阻断。” 这是由于云盾的应用防火墙对您的URL访问…

    服务器运维 2018年11月21日
    2.3K00
  • 学派吧-在linux下安装python3的过程教程-linux教程

    本篇文章主要介绍了在centos7下安装python3的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 环境搭建 准备工具: centos7:mirror.bit.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso virtuslvox:www.virtualbo…

    服务器运维 2018年12月14日
    2.1K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部