nscgi -- CGI Interface
$Header: /usr/local/cvsroot/nsd/aolserver/nscgi/nscgi.html,v 1.1.1.1 2000/10/24 22:11:39 mayoff Exp $
Theory of Operation
Known Issues
Sample Configuration
Theory of Operation
The nscgi module provides the traditional Common Gateway Interface (CGI)
that web servers use to run external applications. The nscgi module works
well for small- to medium-sized applications. For large applications,
it should not be used due to the severe load that running external applications
will place on a system. More modern approaches use ADP, Tcl, and C libraries
instead.
Known Issues
The Common Gateway Interface is inefficient, wasteful, and slow -- and nscgi
is no exception. AOLserver provides a better solution in the form of a
robust, in-process scripting language with rich Tcl and C API's. The nscgi
module should only be used for legacy applications for which no redesign
is possible.
Sample Configuration
#
# CGI interface -- nscgi
#
# Note: CGI is *vastly* inferior to ADP's or even built-in Tcl libraries.
#
ns_section "ns/server/${servername}/module/nscgi"
ns_param debug false
ns_param gethostbyaddr false ;# Whether to do reverse DNS lookups
ns_param limit 0 ;# Max number of concurrent CGI processes
ns_param maxoutput 10240 ;# Max bytes allowed from external process
ns_param buffersize 8192 ;# Buffer output from external process
ns_param map \
"GET /cgi /usr/local/cgi" ;# Where your CGI executables live (GET)
ns_param map \
"POST /cgi /usr/local/cgi" ;# Where your CGI executables live (POST)
# CGI environment variable handling -- See admin guide
ns_param systemenvironment false ;# Copies environment from nsd start shell