Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

WSGI Server with SSL, code reloading.

Project Description
wsgid
~~~~~

A backgrounding front-end over cherrypy (builtin), twisted.web, circuits,
spawning, fapws3, and werkzeug, With server-independent support for code
reloading and pid file management.

Examples
========

Run a server in the foreground after importing `mywebapp.app` as the application
instance::

wsgid --application mywebapp.app

Run a server in the foreground after importing and calling `mywebapp.create_app`
as the application factory::

wsgid --application_factory mywebapp.create_app

Run a server using the pidfile `mypid.pid` after importing and
calling `mywebapp.create_app` as the application factory::

wsgid --application_factory mywebapp.create_app --pidfile mypid.pid

Stop a server using the pidfile `mypid.pid`::

wsgid --pidfile mypid.pid --stop

Use twisted.web's server to display builtin hello-world::

wsgid --server=twistedweb

All these options have short versions, and can override defaults in config
files or the environment.


Using config files
==================

Ini-style config files can be used to provide any of the options available. For
example, myserver.ini::

[ config ]

pidfile = mypid.pid
application_factory = mywebapp.crate_app

And then::

wsgid -c myserver.ini

Is equivalent to the above examples. Note that the actual section titles in the
config file are ignored, and the file is essentially flattened.


Using the environment
=====================

Additionally any config variable can be overriden using the environment
variables. The variable name is uppercased, and prefixed with `WSGID_` to avoid
collisions with other apps for common names. For example::

export WSGID_PIDFILE=mypid.pid

Is equivalent to passing the `--pidfile` on the command line.


Using the Werkzeug Debugger
===========================

Passing the option -d/--debug will wrap your WSGI application in the Werkzeug
debugger. It is not recommended to do this in production::

wsgid --application mywebapp.app --foreground --debug


Using SSL
=========

The default CherryPy backend supports SSL, and this is enabled using the two
options --ssl_certificate/-C with --ssl_private_key/-K, To generate these as
an example::

openssl genrsa 1024 > host.key
openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert

Then you can run your server like::

wsgid --application mywebapp.app --foreground --ssl_certificate=host.cert --ssl_private_key=host.key




Complete options
================
Usage: wsgid [options]

Options:
-h, --help show this help message and exit
-c CONFIG_FILE, --config_file=CONFIG_FILE
The configuration file
-p PIDFILE, --pidfile=PIDFILE
The PID file
-s, --stop Stop the server.
-a APPLICATION, --application=APPLICATION
The WSGI Applciation instance to import
-A APPLICATION_FACTORY, --application_factory=APPLICATION_FACTORY
The WSGI Applciation factory to import
-d, --debug Run in the werkzeug debugger.
-P PORT, --port=PORT The port to listen on.
-H HOST, --host=HOST The host to listen on.
-N, --no_reloader Do not use the reloader.
-L LOGDIR, --logdir=LOGDIR
The directory for logs.
-w WORKDIR, --workdir=WORKDIR
The working directory for the daemon.
-n SERVERNAME, --servername=SERVERNAME
The server name
-C SSL_CERTIFICATE, --ssl_certificate=SSL_CERTIFICATE
The ssl certificate
-K SSL_PRIVATE_KEY, --ssl_private_key=SSL_PRIVATE_KEY
The ssl private key
-e VIRTUALENV, --virtualenv=VIRTUALENV
Path to a virtualenv to use
-v, --verbose Verbose logging
-T, --no_log_stdout Do not log on stdout
-O SERVER, --server=SERVER
Server type to use, can be:
cherrypy (default)
twistedweb
circuitsweb
fapws3
spawningweb
wz
-X, --dumb Run a dumb server. Does not handle pidfiles/logs/etc.


Developer Information
=====================

Repository/tracker/wiki/etc at:

http://bitbucket.org/aafshar/wsgid-main/

Latest tip package:

http://bitbucket.org/aafshar/wsgid-main/get/tip.zip#egg=wsgid-dev
Release History

Release History

This version
History Node

0.9

History Node

0.8

History Node

0.7

History Node

0.5

History Node

0.3

History Node

0.2

History Node

0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
wsgid-0.9.linux-i686.tar.gz (64.9 kB) Copy SHA256 Checksum SHA256 any Dumb Binary Jul 15, 2009
wsgid-0.9.tar.gz (30.6 kB) Copy SHA256 Checksum SHA256 Source Jul 15, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting