aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Bühler <stbuehler@web.de>2008-07-21 18:15:17 +0200
committerStefan Bühler <stbuehler@web.de>2008-07-21 18:15:17 +0200
commitdc27ffe9497d8fdc927c84d4b96bad3ca9de7916 (patch)
treed227b0a0e2a9e84dcd59cda1a324a8b7b4277351
parentd8a5d7d3846d4395e7864bc6958459fa2c77e2d0 (diff)
downloadspawn-fcgi2-dc27ffe9497d8fdc927c84d4b96bad3ca9de7916.tar.gz
spawn-fcgi2-dc27ffe9497d8fdc927c84d4b96bad3ca9de7916.zip
Add README.html
-rw-r--r--README.html114
1 files changed, 114 insertions, 0 deletions
diff --git a/README.html b/README.html
new file mode 100644
index 0000000..fdc21a3
--- /dev/null
+++ b/README.html
@@ -0,0 +1,114 @@
+
+<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&gt;&amp;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&gt;&amp;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, &gt;gafton@redhat.com&lt;
+ All rights reserved.
+</pre>
+</p>