357d57b95e
- The old spawn-fcgi now is at version 1.6.0, lighty included versions are 1.4 and 1.5 |
||
---|---|---|
.gitignore | ||
CMakeLists.txt | ||
config.h.cmake | ||
pam_limits.c | ||
README.html | ||
spawn-fcgi.1 | ||
spawn-fcgi.c |
<style language="text/css"> pre { margin-left: 2em; border: 1px dashed black; padding: 2px } pre.code { border: 1px solid blue } pre.shell { border: 1px dashed green } </style> To clone this repository, issue the following command: <pre class="shell"> $ git-clone <a href="git://stbuehler.de/spawn-fcgi.git">git://stbuehler.de/spawn-fcgi.git</a> </pre> <h3>Branches</h3> <p style='padding-left: 1em;'> master: master branch<br /> debian: patch for debian package - will be rebased, so you may need to force updates with -f<br /> </p> <h2>Original home</h2> <p style='padding-left: 1em;'> Source based on spawn-fcgi from <a href="http://www.lighttpd.net/">lighttpd</a>, rewritten for external packaging and some extra features: <ul> <li>chown/chmod the unix-domain socket</li> <li>use /etc/security/limits.conf for limits</li> <li>use glib2</li> </ul> </p> <p style='padding-left: 1em;'> Includes modified code from the <a href="http://www.kernel.org/pub/linux/libs/pam/">Linux-PAM</a> project for the limits. </p> <h2>Description</h2> <p style='padding-left: 1em;'> spawn-fcgi prepares the environment for fastcgi applications; it opens a socket (tcp / unix-domain) on filedescriptor 0, changes uid/gid for process and unix-domain socket, closes STDIN/STDOUT, ... </p> <h2>Usage</h2> <p style='padding-left: 1em;'> Examples for daemontools (with lighttpd on debian): <br/> For php5: </p> <pre class="code"> #!/bin/sh exec 2>&1 exec /usr/bin/spawn-fcgi -s /var/run/lighttpd/php-webuser.sock -n -u webuser -U www-data -l -- /usr/bin/php5-cgi </pre> <p style='padding-left: 1em;'> For turbogears: <p> <pre class="code"> #!/bin/sh exec 2>&1 cd /var/www/tgapp exec /usr/bin/spawn-fcgi -s /var/run/lighttpd/tgapp.sock -n -u tg-user -U www-data -- /var/www/tg-app/start-tgapp-fcgi.py prod.cfg </pre> <p style='padding-left: 1em;'> /var/www/tg-app/start-tgapp-fcgi.py:<br/> <p> <pre class="code"> #!/usr/bin/env python import pkg_resources import cherrypy import sys cherrypy.lowercase_api = True pkg_resources.require("TurboGears") from cherrypy._cpwsgi import wsgiApp from flup.server.fcgi import WSGIServer from os.path import * import turbogears if len(sys.argv) > 1: configfile = sys.argv[1] elif exists(join(dirname(__file__), "setup.py")): configfile = "dev.cfg" else: configfile = "prod.cfg" turbogears.update_config(configfile=configfile, modulename="tgapp.config") from tgapp.controllers import Root cherrypy.root = Root() cherrypy.server.start(initOnly=True, serverClass=None) WSGIServer(application=wsgiApp).run() </pre> <p style='padding-left: 1em;'> spawn-fcgi is released under a BSD license, which may be found in the source files: <pre> <a href="http://cgit.stbuehler.de/gitosis/spawn-fcgi/tree/spawn-fcgi.c">spawn-fcgi.c</a>: Copyright (c) 2004, Jan Kneschke, incremental All rights reserved. <a href="http://cgit.stbuehler.de/gitosis/spawn-fcgi/tree/pam_limits.c">pam_limits.c</a>: Copyright (c) Cristian Gafton, 1996-1997, >gafton@redhat.com< All rights reserved. </pre> </p>