Skip to main content

ISAPI-WSGI wrapper based on buildout configuration

Project description

Introduction

‘’collective.recipe.isapiwsgi’’ is a zc.buildout recipe which creates a paste.deploy entry point for isapi-wsgi.

It is based on ‘’collective.recipe.modwsgi’’ by Wichert Akkerman.

It is very simple to use. This is a minimal ‘’buildout.cfg’’ file which creates a WSGI script isapi-wsgi can use:

[buildout]
parts = isapi-wsgi

[isapi-wsgi]
recipe = collective.recipe.isapiwsgi
eggs = mywsgiapp
config-file = ${buildout:directory}/production.ini

This will create a small python script in parts/isapi-mywsgiapp called ‘’isapiwsgi.py’’ which isapi-wsgi can use. You can also use the optional ‘’extra-paths’’ option to specify extra paths that are added to the python system path.

IIS configuration and installation

ISAPI-WSGI runs as a DLL inside IIS, which is configured as a wildcard mapping. The DLL is created from the generated isapiwsgi.py script.

To automatically configure IIS, you need to run the script:

> cd parts\isapi-wsgi
> python isapiwsgi.py install

To install into a site other than the default, use –server=<name>.

If you want this to be run automatically each time buildout is run, you can give a server name to the recipe:

[isapi-wsgi]
recipe = collective.recipe.isapiwsgi
eggs = mywsgiapp
config-file = ${buildout:directory}/production.ini
server = Default

The above command will now be run just after the script has been (re-)created.

NOTE: If IIS is running whilst you run buildout, you may need to stop the default application pool so that the DLL file can be re-created.

By default, a wildcard mapping is configured at the root of the site in IIS. If you’d like to configure a virtual directory instead, pass its name with the ‘’directory’’ option to the recipe:

[isapi-wsgi]
recipe = collective.recipe.isapiwsgi
eggs = mywsgiapp
config-file = ${buildout:directory}/production.ini
directory = my-application
server = Default

Logging

A log file will be written depending on the [loggers] configuration in your ini file. You may need to ensure that the user which the application pool in IIS uses has write access to this directory.

In addition, you can watch trace messages through the win32traceutil program. It is installed with the Python Win32 extensions. First, set the ‘’debug’’ option to true:

[isapi-wsgi]
recipe = collective.recipe.isapiwsgi
eggs = mywsgiapp
config-file = ${buildout:directory}/production.ini
debug = True

Then run the trace program:

> python -m win32traceutil

Package installation

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 zc.recipe.egg to do a full install.

Changelog

1.0b1 - 2009-09-18

  • Created new package based on collective.recipe.modwsgi [optilude]

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.recipe.isapiwsgi-1.0b1.tar.gz (4.4 kB) Copy SHA256 hash SHA256 Source None Sep 20, 2009

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page