<?xml version="1.0"?>
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:html="http://www.w3.org/1999/xhtml">
  <atom:id>http://bill.welliver.org/atom/pike/Fins/SCGI</atom:id>
  <atom:title type="text">electronic.alchemy :: SCGI</atom:title>
  <atom:updated>2026-04-14T10:45:03-04:00</atom:updated>
  <atom:link href="http://bill.welliver.org/atom/pike/Fins/SCGI" type="application/atom+xml"></atom:link>
  <atom:link href="http://bill.welliver.org/space/pike/Fins/SCGI" type="text/html"></atom:link>
  <atom:link href="http://bill.welliver.org/rss/pike/Fins/SCGI" type="application/rss+xml"></atom:link>
  <atom:generator uri="http://modules.gotpike.org/blahblah/Public.Syndication.ATOM" version="0.1">Public.Syndication.ATOM (Pike v8.0 release 702)</atom:generator>
  <atom:icon>http://bill.welliver.org/favicon.ico</atom:icon>
  <atom:logo>http://bill.welliver.org/static/images/alchemy.gif</atom:logo>
  <atom:subtitle type="xhtml"><html:div xmlns:html="http://www.w3.org/1999/xhtml"><html:p>Fins includes an <html:a href="SCGI" class="wiki_link_external">http://www.mems-exchange.org/software/scgi</html:a> protocol application runner. This allows you to run Fins applications in a high-performance manner with web servers who support SCGI. SCGI is similar to FastCGI, but the protocol is much simpler, and the support in Fins does not require the installation of libfastcgi.</html:p><html:p class="paragraph"/>
<html:h3 class="heading-1">Usage:</html:h3><html:p class="paragraph"/>
<html:b class="bold">lighttpd</html:b><html:p class="paragraph"/>
 a. enable mod_scgi in your lighttpd configuration by adding <html:i class="ital">mod_scgi</html:i> to the list of enabled modules in the <html:i class="ital">server.modules</html:i> configuration parameter.<html:p class="paragraph"/>
 b. add a configuration section for your Fins runner:&#xD;
<html:div class="code"><html:pre><html:pre>&#xD;
scgi.server = ( <html:i><html:font color="darkred">"/"</html:font></html:i> =&gt;&#xD;
  (( <html:i><html:font color="darkred">"host"</html:font></html:i> =&gt; <html:i><html:font color="darkred">"127.0.0.1"</html:font></html:i>,&#xD;
     <html:i><html:font color="darkred">"port"</html:font></html:i> =&gt; 10242,&#xD;
     <html:i><html:font color="darkred">"check-local"</html:font></html:i> =&gt; <html:i><html:font color="darkred">"disable"</html:font></html:i>,&#xD;
     <html:i><html:font color="darkred">"docroot"</html:font></html:i> =&gt; <html:i><html:font color="darkred">"/"</html:font></html:i> <html:font color="brown"># remote server may use&#xD;
</html:font>                      <html:font color="brown"># it's own docroot&#xD;
</html:font>  ))&#xD;
)&#xD;
</html:pre></html:pre></html:div><html:p class="paragraph"/>
&#xD;
 c. start your Fins runner<html:p class="paragraph"/>
<html:div class="code"><html:pre><html:pre>&#xD;
fcgi/FinsRunner.scgi -p portnum -c configname -a appdir&#xD;
</html:pre></html:pre></html:div><html:p class="paragraph"/>
&#xD;
 d. start your lighttpd server<html:p class="paragraph"/>
<html:div class="code"><html:pre><html:pre>&#xD;
lighttpd -f lighttpd.conf&#xD;
</html:pre></html:pre></html:div><html:p class="paragraph"/>
&#xD;
<html:b class="bold">Apache</html:b><html:p class="paragraph"/>
<html:i class="ital">Note:</html:i> the current mod_scgi for Apache2 has a number of behavioral problems which make it incompatible with applications that will run otherwise under FastCGI or HTTP. Discussions are ongoing with the developer of mod_scgi for Apache to work the issues out. Until then, either use FastCGI or reverse proxy (HTTP) to deploy your application under Apache.&#xD;
</html:div></atom:subtitle>
</atom:feed>
