Scroll to navigation

FCGIWRAP(8) System Manager's Manual FCGIWRAP(8)

NAME

fcgiwrap - serve CGI applications over FastCGI

SYNOPSIS

fcgiwrap [OPTIONS]
 

DESCRIPTION

fcgiwrap is a simple server for running CGI applications over FastCGI. It hopes to provide clean CGI support to Nginx (and other web servers that may need it).
 

OPTIONS

-c number
Number of fcgiwrap processes to prefork.
-s socket_url
A URL for the listen socket to bind to. By default fcgiwrap expects a listen socket to be passed on file descriptor 0, matching the FastCGI convention. The recommended way to deploy fcgiwrap is to run it under a process manager that takes care of opening the socket. However, for simple configurations and one-off tests this option may be used. Valid socket_urls include unix:/path/to/unix/socket, tcp:dot.ted.qu.ad:port and tcp6:[ipv6_addr]:port.
-h
Show a help message and exit.
 

ENVIRONMENT

When running, fcgiwrap evaluates these environment variables set by the web server calling an fcgi-script. The variables DOCUMENT_ROOT and SCRIPT_NAME will be concatenated and the resulting executable run as CGI script wrapped as FastCGI, with the remainder after the script name available as PATH_INFO. To disable PATH_INFO mangling, set up your web server to pass SCRIPT_FILENAME, which should contain the complete path to the script. Then PATH_INFO will not be modified.
 
DOCUMENT_ROOT
directory which the script resides in
SCRIPT_NAME
actual executable
SCRIPT_FILENAME
complete path to CGI script. When set, overrides DOCUMENT_ROOT and SCRIPT_NAME
 

EXAMPLE

The fastest way to see fcgiwrap do something is to launch it at the command line like this:
 
fcgiwrap -s unix:/var/run/fcgiwrap.sock
 
Apart from potential permission problems etc., it should be ready to accept FastCGI requests and run CGI scripts.
 
Most probably you will want to launch fcgiwrap by spawn-fcgi using a configuration like this:
 
FCGI_SOCKET=/var/run/fcgiwrap.sock
 
FCGI_PROGRAM=/usr/sbin/fcgiwrap
 
FCGI_USER=nginx
 
FCGI_GROUP=www
 
FCGI_EXTRA_OPTIONS="-M 0700"
 
ALLOWED_ENV="PATH"
 
Nginx can be configured to have the arbitrary CGI cgit run as FastCGI as follows:
 
location / {
 
fastcgi_param DOCUMENT_ROOT /var/www/localhost/htdocs/cgit/;
 
fastcgi_param SCRIPT_NAME cgit;
 
fastcgi_pass unix:/var/run/fastcgi.sock;
 
}
 

AUTHOR

fcgiwrap was written by Grzegorz Nosek <root@localdomain.pl> with contributions by W-Mark Kubacki <wmark@hurrikane.de>.
This manual page was written by Jordi Mallach <jordi@debian.org> (with contributions by Grzegorz Nosek) for the Debian project (and may be used by others).
June 3, 2010