Skip to content

Instantly share code, notes, and snippets.

@jivanpal
Last active March 4, 2024 17:52
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save jivanpal/ce90c0d34ead57bc33d10099278ab423 to your computer and use it in GitHub Desktop.
Save jivanpal/ce90c0d34ead57bc33d10099278ab423 to your computer and use it in GitHub Desktop.
Compile Brotli modules for Nginx 1.18.0 on Ubuntu 20.04
#!/bin/bash -e
sudo apt install \
curl \
build-essential \
libpcre3-dev \
libssl-dev \
zlib1g-dev \
libxml2-dev \
libxslt1-dev \
libgd-dev \
libgeoip-dev \
libperl-dev
mkdir -p ~/build
cd ~/build
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git checkout v1.0.0rc
git submodule update --init
cd ..
curl -LO http://nginx.org/download/nginx-1.18.0.tar.gz
tar xvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure \
--with-cc-opt="-g -O2 -fdebug-prefix-map=$HOME/build/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2" \
--with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' \
--prefix=/usr/share/nginx \
--conf-path=/etc/nginx/nginx.conf \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log \
--lock-path=/var/lock/nginx.lock \
--pid-path=/run/nginx.pid \
--modules-path=/usr/lib/nginx/modules \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--with-debug \
--with-compat \
--with-pcre-jit \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_auth_request_module \
--with-http_v2_module \
--with-http_dav_module \
--with-http_slice_module \
--with-threads \
--with-http_addition_module \
--with-http_flv_module \
--with-http_geoip_module=dynamic \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module=dynamic \
--with-http_mp4_module \
--with-http_perl_module=dynamic \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_sub_module \
--with-http_xslt_module=dynamic \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--add-dynamic-module="$HOME/build/ngx_brotli"
make modules
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment