Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jmealo/febe97f6ac9a39b7f910a930ee57d1c5 to your computer and use it in GitHub Desktop.
Save jmealo/febe97f6ac9a39b7f910a930ee57d1c5 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -o errexit
clear
# Set versions. Check http://openresty.org for latest version and bundled version of nginx.
OPENRESTY_VERSION=1.11.2.2
NGINX_VERSION=1.11.2
OPENSSL_VERSION=1.1.0c
NPS_VERSION=1.11.33.4
# Install some pre-requisites
apt-get install -y install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential
# Get OpenResty
cd /usr/local/src/
wget https://openresty.org/download/openresty-${OPENRESTY_VERSION}.tar.gz
tar vxf ngx_openresty-${OPENRESTY_VERSION}.tar.gz
# Get OpenSSL
wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz
tar vxf openssl-${OPENSSL_VERSION}.tar.gz
# Patch Nginx to provide HTTP/2 support
cd /usr/local/src/ngx_openresty-${OPENRESTY_VERSION}/bundle/nginx-${NGINX_VERSION}
wget http://nginx.org/patches/http2/patch.http2.txt
# Test patch
patch -p1 --dry-run < patch.http2.txt
# Apply patch
patch -p1 < patch.http2.txt
# Get pagespeed
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip
unzip release-${NPS_VERSION}-beta.zip
cd ngx_pagespeed-release-${NPS_VERSION}-beta/
wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
tar -xzvf ${NPS_VERSION}.tar.gz # extracts to psol/
# Now we can build OpenResty / Nginx.
cd /usr/local/src/ngx_openresty-${OPENRESTY_VERSION}
./configure --with-http_ssl_module \
--with-luajit \
--with-openssl=/usr/local/src/openssl-${OPENSSL_VERSION} \
--with-http_v2_module \
--add-module=build/nginx-${NGINX_VERSION}/ngx_pagespeed-release-${NPS_VERSION}-beta
make && make install
# Check install.
/usr/local/openresty/nginx/sbin/nginx -t
/usr/local/openresty/nginx/sbin/nginx -V
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment