cgi-fcgi - Online in the Cloud

This is the command cgi-fcgi that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


cgi-fcgi - bridge from CGI to FastCGI

SYNOPSIS


cgi-fcgi -f cmdPath
cgi-fcgi -bind -connect connName
cgi-fcgi -start -connect connName appPath [nServers]
cgi-fcgi -connect connName appPath [nServers]

DESCRIPTION


cgi-fcgi is a CGI/1.1 program that communicates with an already-running FastCGI
application in order to respond to an HTTP request. cgi-fcgi is also capable of starting
a FastCGI application.

When you invoke cgi-fcgi as

cgi-fcgi -f cmdPath

then cgi-fcgi opens the file at cmdPath and reads its arguments from that file. cgi-fcgi
will skip lines that begin with the comment character #. The first non-comment line
should contain valid arguments in one of the other three forms.

The -f form of cgi-fcgi is designed for Unix systems whose exec(2) family of system calls
supports the execution of command interpreter files. For instance, if a file with execute
permission contains the text

#! /bin/cgi-fcgi -f
-connect /httpd/root/sock/app /httpd/root/bin/app

the effect is the same as executing

/usr/bin/cgi-fcgi -connect /httpd/root/sock/app /httpd/root/bin/app

When you invoke cgi-fcgi as

cgi-fcgi -bind -connect connName

the connName argument is either the path name of a Unix domain listening socket or a
host:port pair. If connName contains a colon, it is assumed to be host:port. cgi-fcgi
performs a connect(2) using connName. If the connect succeeds, cgi-fcgi forwards the CGI
environment variables and stdin data to the FastCGI application, and forwards the stdout
and stderr data from the application to cgi-fcgi's stdout (most likely connected to a Web
server). When the FastCGI application signals the end of its response, cgi-fcgi flushes
its buffers and exits, and the Web server completes the http response.

When you invoke cgi-fcgi as

cgi-fcgi -start -connect connName appPath [nServers]

then cgi-fcgi performs the function of starting one or more FastCGI application processes.
The connName argument specifies either the path name of the Unix domain listening socket
that cgi-fcgi will create, or is "localhost:NNN" where NNN is the port number of the
TCP/IP listening socket that cgi-fcgi will create on the local machine. (cgi-fcgi will
not create processes on remote machines.) After cgi-fcgi creates the listening socket, it
forks nServers copies of a process running the executable file appPath. If nServers is
omitted, the effect is as if the value "1" had been specified. The processes share the
single listening socket.

When you invoke cgi-fcgi as

cgi-fcgi -connect connName appPath [nServers]

cgi-fcgi performs -bind and then, if necssary, performs -start and repeats the -bind.
That is, cgi-fcgi first operates as if the command had been

cgi-fcgi -bind -connect connName

If the connect fails, cgi-fcgi tries

cgi-fcgi -start -connect connName appPath [nServers]

and finally retries

cgi-fcgi -bind -connect connName

In this form, cgi-fcgi does not support TCP/IP connections.

ENVIRONMENT VARIABLES


The usual CGI ones, but they are not interpreted by cgi-fcgi.

Use cgi-fcgi online using onworks.net services



Latest Linux & Windows online programs