WSGI from buildout
Project description
Introduction
‘’collective.recipe.modwsgi’’ is a zc.buildout recipe which creates a paste.deploy entry point for mod_wsgi.
It is very simple to use. This is a minimal ‘’buildout.cfg’’ file which creates a WSGI script mod_python can use:
[buildout] parts = mywsgiapp [mywsgiapp] recipe = collective.recipe.modwsgi eggs = mywsgiapp config-file = ${buildout:directory}/production.ini
This will create a small python script in parts/mywsgiapp called ‘’wsgi’’ which mod_wsgi can load. You can also use the optional ‘’extra-paths’’ option to specify extra paths that are added to the python system path.
The apache configuration for this buildout looks like this:
WSGIScriptAlias /mysite /home/me/buildout/parts/mywsgiapp/wsgi <Directory /home/me/buildout> Order deny,allow Allow from all </Directory>
This recipe does not fully install packages, which means that console scripts will not be created. If you need console scripts you can add a second buildout part which uses z3c.recipe.scripts to do a full install.
Configuration files with multiple applications
It is possible to specify multiple applications or pipelines in a single configuration file. If you do this you can specify which application to run by using the app_name option. For example if your ini files looks like this:
[app:my_app] use = egg:my_application [pipeline:production] pipeline = my_app [pipeline:devel] pipeline = egg:WebError#evalerror my_app
This specifies two way to run the your application: a production configuration which runs the application directly, and a devel configuration which also runs the WebError interactive debugger to catch errors. To use the production pipeline in mod_wsgi supply the app_name parameter:
[mywsgiapp] recipe = collective.recipe.modwsgi eggs = mywsgiapp app_name = production config-file = ${buildout:directory}/production.ini
Changelog
1.5 - January 31, 2012
Add option to configure which application to load from a .ini file. Patch submitted by Stephan Hof.
1.4 - January 15, 2012
Fix typo in the .ini handling logic for configuration files that do not contain logging settings. [aclark]
1.3 - January 13, 2012
Gracefully handle .ini files that do not contain logging configuration. [wichert]
don’t overwrite existing file permissions when setting execute permission. This fixes issue 1 [fredj]
1.2 - August 7, 2009
Initialise the python logging module. Based on a patch from Philip Kershaw, which was based on a discussion on pylons-discuss: http://groups.google.com/group/pylons-discuss/browse_thread/thread/9b9add4529b3779c?pli=1 [wichert]
1.1 - April 20, 2009
Add an ‘extra-paths’ option, similar the the zc.recipe.egg one. [chrism]
1.0 - October 16, 2008
No changes. [wichert]
1.0rc1 - June 30, 2008
Update the generated wrapper to test if a path is already in sys.path before adding it. This prevents paths being duplicated in sys.path when mod_wsgi reloads the module. [wichert]
1.0b3 - June 23, 2008
Do not make the recipe a subclass of zc.recipe.egg.Eggs but use a local instance to determine the working set. [wichert]
Format the sys.path changes in the wrapper to make it more human readable. This is purely cosmetic to help with debugging. [wichert]
Also recreate the wsgi wrapper file when updating a buildout part. This is needed to get get changes to versions in the working set (such as different version pins) reflected in the wrapper. [wichert]
1.0b2 - June 13, 2008
Call the Eggs constructor as well: working_set() needs too many of the internal variables it sets for us to set them ourselves. This fixes the recipe breaking when using find-links in buildout. [wichert]
1.0b1 - June 13, 2008
Initial release [wichert]
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 collective.recipe.modwsgi-1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc1926a810eb2d0b0f4e845234ddc378baba202016f779c8a6d3b853c33477a |
|
MD5 | 75131c0a4876c789e27d9f23679145d5 |
|
BLAKE2b-256 | 0a5b5f137d32364d3b33dec4680daf27cdfc066231991cc27662380ea19d1232 |