1. José L. Patiño Andrés
  2. buildout-nginx-uwsgi

Overview

buildout-nginx-uwsgi: A Buildout script to deploy an Nginx/uWSGI stack server
-----------------------------------------------------------------------------


1. Prerequisites:
-----------------

    - Nginx server is installed by downloading and compiling its source code,
    so you will need some development libraries installed in your system to
    do this successfully. These libraries are:

        * zlib library.
        * pcre library.
        * openssl library.

      You can get this free libraries in its web sites if you want to compile
    them by your own:

        http://www.zlib.net/
        http://www.pcre.org/
        http://www.openssl.org/

      Or you can install from your Linux distribution repositories (the most
    recommended option). Particularly in Debian/Ubuntu systems you can get the
    required libraries in this way:

        :$ sudo apt-get install zlibg1-dev libpcre3-dev openssl

    - uWSGI needs to have Python development libraries installed. Again, in a
    Debian/Ubuntu environment the easiest way to have this done is making:

        :$ sudo apt-get install python-dev

    - Of course, you need a Python interpreter (>=2.5).


2. BuildingOut:
---------------

    - Once you have satisfied the Nginx server dependencies, you can buildout
    all the server stack with typical Buildout commands:

        :$ python bootstrap.py
        :$ bin/buildout
    
      This should be enough to have a complete Nginx-uWSGI server running.

    - Thanks to the buildout.bootstrap extension, you can have the bootstrap.py
    file up to date with this single command:

        :$ buildout init

        (remember that you need to have zc.buildout package installed in your
        system in order to perform this operation)


3. Starting installed services:
-------------------------------

    - uWSGI executable is in the main bin/ directory, since it is installed as
    a Python egg. So, to start it just do:

        :$ bin/uwsgi --socket 127.0.0.1:9000 [OPTIONS]

      uWSGI has a lot of different options. Please, feel free to configure it
    in order to fit your needs. The best available reference is given in the
    uWSGI web page:

        http://projects.unbit.it/uwsgi/wiki/Quickstart
        http://projects.unbit.it/uwsgi/wiki/Example

    - Nginx server can be started with the next command:

        :$ cd parts/nginx
        :$ sbin/nginx

      For Nginx advanced options and running control, please check out the Nginx
    documentation in its web page:

        http://wiki.nginx.org/GettingStarted#Running_Nginx

        (remember that our Nginx executable will remain in parts/nginx/sbin)