A Buildout recipe to install and configure Nginx with conda.
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. 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; } }
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a929fca3764d06eebda47d9258235f8e678376b7ecc59be8826e33254378320 |
|
MD5 | 62d8e1a83a300f5b8ae5c8563705e655 |
|
BLAKE2b-256 | d618e90859f1b83d528b66ad03173e70769849044e72a460e2f2285192a4bde4 |