Skip to main content
Travis Build

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. You can use the buildout option anaconda-home to set the prefix for the anaconda installation. Otherwise the environment variable CONDA_PREFIX (variable is set when activating a conda environment) is used as conda prefix.

The recipe will install the nginx package from a conda channel in a conda enviroment defined by CONDA_PREFIX. The intallation folder is given by the prefix buildout option. It deploys a Nginx site configuration for your application. The configuration will be deployed in ${prefix}/etc/nginx/conf.d/myapp.conf. Nginx can be started with ${prefix}/etc/init.d/nginx start.

The recipe depends on birdhousebuilder.recipe.conda and zc.recipe.deployment.

Supported options

This recipe supports the following options:

anaconda-home

Buildout option pointing to the root folder of the Anaconda installation. Default: $HOME/anaconda.

Buildout part options for the program section:

prefix

Deployment option to set the prefix of the installation folder. Default: /

user

Deployment option to set the run user.

etc-user

Deployment option to set the user of the /etc directory. Default: root

name

The name of your application.

input

The path to a Mako template with a Nginx configuration for 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

ssl-verify-client

Nginx option to verify SSL client certificates. Possible values: off (default), on, optional. https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client

ssl-client-certificate

Nginx option with the name of the bundle of CA certificates for the client. Default: esgf-ca-bundle.crt. https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

ssl-client-certificate-url

Optional URL to download a bundle of CA certificates for ssl-client-certificate. Default: https://github.com/ESGF/esgf-dist/raw/master/installer/certs/esgf-ca-bundle.crt

All additional options can be used as parameters in your Nginx site configuration.

Example usage

The following example buildout.cfg installs Nginx with a site configuration for myapp:

[buildout]
parts = myapp_nginx

anaconda-home = /opt/anaconda

[myapp_nginx]
recipe = birdhousebuilder.recipe.nginx
name = myapp
prefix = /
user = www-data
input = ${buildout:directory}/templates/myapp_nginx.conf

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

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.4.2.tar.gz (11.8 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: birdhousebuilder.recipe.nginx-0.4.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.12

File hashes

Hashes for birdhousebuilder.recipe.nginx-0.4.2.tar.gz
Algorithm Hash digest
SHA256 6a929fca3764d06eebda47d9258235f8e678376b7ecc59be8826e33254378320
MD5 62d8e1a83a300f5b8ae5c8563705e655
BLAKE2b-256 d618e90859f1b83d528b66ad03173e70769849044e72a460e2f2285192a4bde4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.2 This release

1 file

0.4.1

1 file

0.4.0

1 file

0.3.7

1 file

0.3.6

2 files

0.3.5

1 file

0.3.4

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

0.2.6

1 file

0.2.5

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.7

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page