A Buildout recipe to install and configure Nginx with Anaconda.
Project description
Introduction
birdhousebuilder.recipe.nginx is a Buildout recipe to install Nginx from an Anaconda channel and to deploy a site configuration for your application. This recipe is used by the Birdhouse project.
Usage
The recipe requires that Anaconda is already installed. It assumes that the default Anaconda location is in your home directory ~/anaconda. Otherwise you need to set the ANACONDA_HOME environment variable or the Buildout option anaconda-home.
The recipe will install the nginx package from a conda channel in a conda enviroment named birdhouse. The location of the birdhouse environment is .conda/envs/birdhouse. It deploys a Nginx site configuration for your application. The configuration will be deployed in ~/.conda/envs/birdhouse/etc/nginx/conf.d/myapp.conf. Nginx can be started with ~/.conda/envs/birdhouse/etc/init.d/nginx start.
The recipe depends on birdhousebuilder.recipe.conda.
Supported options
This recipe supports the following options:
- anaconda-home
Buildout option with the root folder of the Anaconda installation. Default: $HOME/anaconda. The default location can also be set with the environment variable ANACONDA_HOME. Example:
export ANACONDA_HOME=/opt/anaconda
Search priority is:
anaconda-home in buildout.cfg
$ANACONDA_HOME
$HOME/anaconda
- input
The path to a Mako template with a Nginx configuration for your application.
- sites
The name of your application.
- worker_processes
The number of worker processes started (use auto for dynamic value). Default: 1
- keepalive_timeout
Timeout during keep-alive client connection will stay open on the server side. Default: 5s
- organization
The organization name for the certificate. Default: Birdhouse
- organization_unit
The organization unit for the certificate. Default: Demo
All additional options can be used as parameters in your Nginx site configuration. The anaconda-home Path is available as prefix parameter.
Example usage
The following example buildout.cfg installs Nginx with a site configuration for myapp:
[buildout] parts = myapp_nginx anaconda-home = /home/myself/anaconda [myapp_nginx] recipe = birdhousebuilder.recipe.nginx input = ${buildout:directory}/templates/myapp_nginx.conf sites = myapp hostname = localhost port = 8081
An example Mako template for your Nginx configuration could look like this:
upstream myapp { server unix:///tmp/myapp.socket fail_timeout=0; } server { listen ${port}; server_name ${hostname}; root ${prefix}/var/www; index index.html index.htm; location / { # checks for static file, if not found proxy to app try_files $uri @proxy_to_phoenix; } location @proxy_to_phoenix { proxy_pass http://myapp; } }
Changes
0.2.5 (2016-01-19)
set keepalive_timeout to 5s (can be overwritten in options).
0.2.4 (2016-01-15)
disabled sendfile in nginx.conf.
worker_processes is now configurable.
0.2.3 (2015-07-06)
create cert.pem only if it does not exist.
0.2.2 (2015-06-25)
cleaned up templates.
added user option.
0.2.1 (2015-06-23)
generates self-signed certificate for https.
0.2.0 (2015-02-24)
installing in conda enviroment birdhouse.
using $ANACONDA_HOME environment variable.
separation of anaconda-home and installation prefix.
0.1.7 (2014-12-06)
Don’t update conda on buildout update.
0.1.6 (2014-11-11)
Removed proxy configuration.
Fixed supervisor config: nginx didn’t stop.
nginx is started as supervisor service.
0.1.5 (2014-10-27)
disabled SSLv3 (poodle attack)
0.1.4 (2014-10-21)
Updated docs.
Fixed pyOpenSSL dependency.
0.1.3 (2014-08-26)
Fixed proxy config for wpsoutputs.
Using proxy-enabled buildout option.
options master and superuser_enabled added.
0.1.2 (2014-08-01)
Updated documentation.
0.1.1 (2014-07-24)
Added start-stop script for nginx.
Generates self-signed certificate for https.
0.1.0 (2014-07-10)
Initial Release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for birdhousebuilder.recipe.nginx-0.2.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e7af21fb332471a9836fa1a86a9df694387d6428061dcb31ce3612f95cc9cac |
|
MD5 | d657df218c0b0ffd13e99e8357729936 |
|
BLAKE2b-256 | df57a3502645f9144f8f1ab612ce7e734c765a40e3f8e820cb82ccd6da37ff31 |