Dec 14

Custom NginX Distribution

Custom NginX Distribution

I created a custom NginX distribution to address the need of NginX with the purge cache plugin in newer Ubuntu versions. The source can be obtained from Githubhttps://github.com/JCBauza/NginX/ and the PPA for your system at: https://launchpad.net/~cloudingenium/+archive/nginx-mainline.

Stable vs Mainline

There are two PPAs available: One for the Stable releases and one for the Mainline releases.

In a post to the Nginx mailing list, Nginx developer Valentin Bartenev noted this about Nginx’s branches:

FYI, nginx “devel” vs. “stable” difference mainly is about API and behavior stability. Both branches are reliable enough to use in production.

The mainline branch gets new features and bugfixes sooner but might introduce new bugs as well. Critical bugfixes are backported to the stable branch.

In general, the stable release is recommended, but the mainline release is typically quite stable as well. See the FAQ.

Adding this PPA to your system

You can update your system with unsupported packages from this untrusted PPA by adding ppa:cloudingenium/nginx-stable or ppa:cloudingenium/nginx-mainline to your system’s Software Sources.

Important: The contents of Personal Package Archives are not checked or monitored. You install software from them at your own risk.

Below is the code you should execute depending on which version you wish to have (Mainline or Stable):

sudo add-apt-repository ppa:cloudingenium/nginx-mainline 

or

sudo add-apt-repository ppa:cloudingenium/nginx-stable 

After doing that you´ll get something similar to the following on screen:

NginX Mainline distribution with additional modules offered over different packages.
To learn more visit: http://kx.cloudingenium.com/technologies/web/nginx/custom-nginx-distribution/
More info: https://launchpad.net/~cloudingenium/+archive/nginx-mainline
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpcjoq_w/secring.gpg’ created
gpg: keyring `/tmp/tmpcjoq_w/pubring.gpg’ created
gpg: requesting key 30133CE0 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpcjoq_w/trustdb.gpg: trustdb created
gpg: key 30133CE0: public key “Launchpad PPA for Cloud Ingenium” imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

Different packages available:

There are 12 available packages as part of this PPA. Each one offers unique characteristics (choice of modules, debug, etc) to offer a wider range of functionality. You can find the entire list at: http://kx.cloudingenium.com/technologies/web/nginx-web/custom-nginx-distribution-available-packages/

The main packages to keep in mind are:

  • nginx-full
  • nginx-light
  • nginx-extras
  • nginx-naxsi

Latest Release notes:

The repository follows the NginX source code with different packages aimed at providing different functionality you need to perform a build to get:

Nginx Mainline Release 1.7 – Low

Nginx Mainline Release 1.6 – Highly Recommended

Nginx Mainline Release 1.5.13 – Moderate

Nginx Mainline Release 1.5.12 – Urgent

Nginx Stable Release 1.4.7 – Urgent

Nginx Mainline Release 1.5.11

Nginx Stable Release 1.4.6 – Moderate

Nginx Mainline Release 1.5.10 v2

  • Added to PPA on February TBD, 2014.
  • Included the ngx_pagespeed package to the extra flavor (https://developers.google.com/speed/pagespeed/module) using: release-1.7.30.3-beta
  • See the change log: Changes with NginX 1.5.10

Nginx Stable Release 1.4.5

Nginx Mainline Release 1.5.10

Nginx Mainline Release 1.5.9

Nginx Mainline Release 1.5.8

  • Packaged on December 21st, 2013.
  • Removed the LUA third party component  from the extras package as it was generating build exceptions (and as I don’t use it there was no point in keeping it.)
  • New features released on 1.5.7 “proxy_cache_revalidate”, “fastcgi_cache_revalidate”, “scgi_cache_revalidate”, and “uwsgi_cache_revalidate” directives work great with the exception that the revalidation works at the cache key level. If you bypass the cache it will still re-validate as long as the key is a match. This can have unexpected behavior if you are bypassing for example mobile users. If a mobile user requests an expired page, even if you bypass cache if the key does not distinguish this as a different request it will cache your mobile page.
  • See the change log: Changes with NginX 1.5.8

Nginx Mainline Release 1.5.7

Nginx Stable Release 1.4.4

Nginx Mainline Release 1.5.6

  • Used the mainline release distributed by the NginX team. No changes from theirs.
  • See the change log:  Changes with NginX 1.5.6
Enhanced by Zemanta

Leave a Reply

%d bloggers like this: