Skip to main content

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:

  1. anaconda-home in buildout.cfg

  2. $ANACONDA_HOME

  3. $HOME/anaconda

input

The path to a Mako template with a Nginx configuration for your application.

sites

The name of your application.

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;
  }
}

Authors

Carsten Ehbrecht ehbrecht at dkrz.de

Changes

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

birdhousebuilder.recipe.nginx-0.2.0.tar.gz (7.0 kB view details)

Uploaded Source

File details

Details for the file birdhousebuilder.recipe.nginx-0.2.0.tar.gz.

File metadata

File hashes

Hashes for birdhousebuilder.recipe.nginx-0.2.0.tar.gz
Algorithm Hash digest
SHA256 63eae7b21d28ad593486e28ca3932784dc58389a979bd392d70a685b4681d801
MD5 911d54add9d5224f5c9b6274b9e631e0
BLAKE2b-256 fba1d7cd69ed87676803b65051dd5ae232a5d094f97eea839ceaa64936ff7e0e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page