Whidy Writes

MacOS下通过Homebrew安装nginx-full和brotli模块

nginx-full是拥有了更多nginx模块的一个集合,你也可以自己添加各种模块,比如我会用到brotli进行压缩。然而在 MacOS 下使用第三方模块要么手动编译nginx执行文件,要么用第三方比如 nginx-full 这样的工具,我在安装过程中遇到了一些问题,和大家分享下。

比如我想在nginx(本文使用的nginx-full版本为 1.19.1 )中添加google的brotli模块,理论上执行下面这个命令就可以了。

brew tap denji/nginx
brew install nginx-full --with-brotli-module

但是,居然安装失败,通过 brew list 查看发现只有 brotli-nginx-module 被安装了。而官方的 brew install nginx-full --with-upload-module 却是可以的,真是奇怪。

特别说明,经过我的反复尝试测试,要想正常使用brotli模块的话,需要先安装 brotli

那么正确的步骤大概是:

brew install brotli
brew tap denji/nginx
brew install nginx-full --with-brotli-module

如图:

brew install nginx with brotli

注意,图片上少了的第三条,我忘了敲了。就是 brew tap denji/nginx ,需要的话手动执行一下。

本文就不过多介绍brotli了,主要是帮助安装失败的朋友参考下。这里简单分享下我brotli配置:

brotli              on;
brotli_comp_level   6;
brotli_static       on;
brotli_types        text/xml image/svg+xml application/x-font-ttf image/vnd.microsoft.icon application/x-font-opentype application/json font/eot application/vnd.ms-fontobject application/javascript font/otf application/xml application/xhtml+xml text/javascript  application/x-javascript text/plain application/x-font-truetype application/xml+rss image/x-icon font/opentype text/css image/x-win-bitmap;

更多细节自行研究。