Nginx with Accept-Language support

Utilizing the Accept-Language header in nginx requires a module. This is documentation about how to make it work.

I wanted to use this header to server different files for different languages. You might easily imagine having a set of static files like index_en.html, index_es.html and index_ja.html and wanting to serve one of these depending on the preferences in the Accept-Language header.

This was done on a brand-spanking-new Ubuntu 14.04 Server Edition VM.

Installing #

Get the source for nginx

mkdir nginx_src
cd nginx_src
wget http://nginx.org/download/nginx-1.6.0.tar.gz

Extract it

tar -xvf nginx-1.6.0.tar.gz

Get the accept_language_module

cd ~
git clone https://github.com/giom/nginx_accept_language_module.git

or

wget https://github.com/giom/nginx_accept_language_module/archive/master.zip
unzip master.zip
mv nginx_accept_language_module{-master,}

Install the dependencies

sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev make libssl-dev

Build nginx with the new module

cd nginx_src/nginx-1.6.0
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/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=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --with-http_ssl_module --with-http_gunzip_module --with-http_realip_module --with-http_gzip_static_module --with-http_secure_link_module --group=nginx --add-module=$HOME/nginx_accept_language_module/
make
sudo make install

Now you have nginx compiled to allow you to use the Accept-Language header.

How to use it #

See http://wiki.nginx.org/AcceptLanguageModule#Example_configuration

Sources #

http://wiki.nginx.org/Install

http://wiki.nginx.org/AcceptLanguageModule

http://xmodulo.com/2014/01/compile-install-nginx-web-server.html

 
10
Kudos
 
10
Kudos

Now read this

postfix and golang - sending emails

A quick list of steps to get a server up and running with postfix and a go script to send emails. Install postscript # sudo apt-get install postscript Select ‘local copy’ as the configuration and accept the defaults. Configure postscript... Continue →