Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bird-house/birdhousebuilder.recipe.nginx
buildout recipe to install and configure nginx with anaconda
https://github.com/bird-house/birdhousebuilder.recipe.nginx
buildout nginx python recipe
Last synced: 21 days ago
JSON representation
buildout recipe to install and configure nginx with anaconda
- Host: GitHub
- URL: https://github.com/bird-house/birdhousebuilder.recipe.nginx
- Owner: bird-house
- License: other
- Created: 2014-08-27T14:53:01.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-12-02T10:58:50.000Z (about 4 years ago)
- Last Synced: 2024-03-26T08:59:01.080Z (9 months ago)
- Topics: buildout, nginx, python, recipe
- Language: Python
- Size: 110 KB
- Stars: 0
- Watchers: 10
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE.rst
Awesome Lists containing this project
README
*****************************
birdhousebuilder.recipe.nginx
*****************************.. image:: https://travis-ci.org/bird-house/birdhousebuilder.recipe.nginx.svg?branch=master
:target: https://travis-ci.org/bird-house/birdhousebuilder.recipe.nginx
:alt: Travis BuildIntroduction
************``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... _`Buildout`: http://buildout.org/
.. _`Anaconda`: http://continuum.io/
.. _`Nginx`: http://nginx.org/
.. _`Mako`: http://www.makotemplates.org
.. _`Birdhouse`: http://bird-house.github.ioUsage
*****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.crtAll 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_nginxanaconda-home = /opt/anaconda
[myapp_nginx]
recipe = birdhousebuilder.recipe.nginx
name = myapp
prefix = /
user = www-data
input = ${buildout:directory}/templates/myapp_nginx.confhostname = localhost
port = 8081An 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;
}
}