Compile and Install Nginx With the PageSpeed Module on Debian 8

In this article, we will see how to compile and install Nginx mainline from the official sources of Nginx with the PageSpeed module, which allows you to accelerate your website through several filters. These filters act on HTML, images, CSS or Javascript.

Prerequisites

  • A newly deployed instance running Debian 8.
  • sudo user.

Manual installation

Update the system.

sudo apt-get update
sudo apt-get dist-upgrade

Install dependencies.

sudo apt install build-essential ca-certificates zlib1g-dev libpcre3 libpcre3-dev tar unzip libssl-dev

Define a variable with the latest version of the PageSpeed module.

NPS_VER=1.13.35.2

Next, we need to download and extract the source code for ngx-pagespeed.

cd /opt
wget https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VER}-beta.zip
unzip v${NPS_VER}-beta.zip
rm v${NPS_VER}-beta.zip
cd ngx_pagespeed-${NPS_VER}-beta
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url})
rm ${NPS_VER}-x64.tar.gz

Compilation and installation of Nginx

Define a variable with the latest version of Nginx.

NGINX_VER=1.9.9

Or define it via the Nginx website.

NGINX_VER=$(curl -s http://nginx.org/en/CHANGES | awk 'NR==2' | awk '{print $4}')

Next, we need to download the source code for Nginx.

cd /opt
wget -qO- http://nginx.org/download/nginx-${NGINX_VER}.tar.gz | tar zxf -

Configure the parameters and modules. The Nginx PageSpeed module is included.

cd nginx-${NGINX_VER}
./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--user=nginx \
--group=nginx \
--without-http_ssi_module \
--without-http_scgi_module \
--without-http_uwsgi_module \
--without-http_geo_module \
--without-http_map_module \
--without-http_split_clients_module \
--without-http_memcached_module \
--without-http_empty_gif_module \
--without-http_browser_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-ipv6 \
--with-http_mp4_module \
--with-http_auth_request_module \
--with-http_slice_module \
--add-module=/opt/ngx_pagespeed-release-${NPS_VER}-beta

Compile.

make -j $(nproc)

Install.

make install

You can verify that the ngx_pagespeed module has been added to Nginx installation as follows.

/usr/local/nginx/sbin/nginx -V

Automatic installation

Get the automation script, which allows you to install several modules, including the PageSpeed module.

wget --no-check-certificate https://raw.githubusercontent.com/Qoraiche/nginx-including-pagespeed/master/nginx-autoinstall.sh -O nginx-autoinstall.sh

Make it executable.

chmod +x nginx-autoinstall.sh

Execute it.

./nginx-autoinstall.sh

Your Nginx PageSpeed module installation is now complete.

  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Let's Encrypt: Migrating From TLS-SNI-01

Let's Encrypt is a free service that generates certificates to secure your website. It supports...

How to Enable TLS 1.3 in Nginx on Ubuntu 18.04 LTS

TLS 1.3 is a version of the Transport Layer Security (TLS) protocol that was published in 2018 as...

Setup Nginx-RTMP on CentOS 7

RTMP is great for serving live content. When RTMP is paired with FFmpeg, streams can be converted...

Powered by WHMCompleteSolution