Skip to main content

WSGI Server with SSL, code reloading.

Project description

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

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

Project details


Download files

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

Source Distribution

wsgid-0.7.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file wsgid-0.7.tar.gz.

File metadata

  • Download URL: wsgid-0.7.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for wsgid-0.7.tar.gz
Algorithm Hash digest
SHA256 9d6b966a3cb12d967af1732d4a35ef858a444a7bc4a8fddef23f78dfb5de9636
MD5 f41157eb40bd87d7069dbb087e21af60
BLAKE2b-256 ea7ed62ef903a9c9ee2b4dd8f083a4a1f9f9f19873142449762a634e78afa778

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page