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
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 collective.recipe.isapiwsgi-1.0b1.tar.gz
.
File metadata
- Download URL: collective.recipe.isapiwsgi-1.0b1.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f4735c83cf54f831e2a3d6a456275fc9ba09ce2c644d20eb74d644870c422ba |
|
MD5 | 637d932d1ecd77dfe37a0409d4cdcf50 |
|
BLAKE2b-256 | 455b20631db154f440f874d8b1a9b62f8714bbcc790cf8cefcc895ea8bc0dfc6 |