FCGIplus | Copyright © 2003 Mark G.Daniel
This program, comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under the conditions of the GNU GENERAL PUBLIC LICENSE, version 2. | |
---|---|---|
FastCGI | Copyright © 1995-1996 Open Market, Inc.
Licence Terms |
The FCGIplus interface allows WASD based servers to access
applications built using Open Market's FastCGI v1.0 specification.
" FastCGI is a fast, open, and secure Web server interface that solves the performance problems inherent in CGI without introducing any of the new problems associated with writing applications to lower-level Web server APIs. Modules to support FastCGI can be plugged into Web server APIs such as Apache API, NSAPI, and ISAPI. Key considerations in designing FastCGI included minimizing the cost of migrating CGI applications (including applications written in popular scripting languages such as Perl), supporting both single-threaded and multi-threaded application programming, supporting distributed configurations for scaling and high availability, and generalizing the roles that gateway applications can play beyond CGI's 'responder' role. "
http://www.fastcgi.com/
The FCGIPLUS kit does not provide the resources to build FastCGI-enabled applications for the OpenVMS environment.
NOTE
This interface has been developed on the test-bench only. The author does not use or have access to live FastCGI applications. Although behaving itself with the FastCGI Developer's kit example applications there may be environments and situations where this untried interface will present problems. Developers are encouraged to analyze any such behaviour (see FCGI_WATCH below) and report problems. No example applications are provided with this kit.
Mapping Rules
These will vary according to usage requirements. There are a number of ways to configure script activations. If the script component of the path needs to vary with request then the RTE variant will be required. If constant then CGIplus can be used just as well. All FastCGI mappings require a specification for the application server host and port. These are examples.
exec+ /fcgi/* ($CGI-BIN:[000000]FCGIPLUS)/* \ script=nofind script=params=fcgi_connect=localhost:45678 script+ /an_fcgi_script* /cgi-bin/fcgiplus* \ script=params=fcgi_connect=localhost:45678
Other Configuration
Nothing in HTTPD$CONFIG specific to FCGIPLUS.
The FCGIPLUS interface itself uses some specific environment variables to tailor it's behaviour. These are generally provided using mapping rules but could be defined using logical names or assigned in DCL wrapper procedures.
FCGI_CONNECT |
Provides the application server host and port as a string.
script=params=fcgi_connect=localhost:45678 |
---|---|
FCGI_BUFFER |
The default application read buffer is 16384 bytes in size. It must be large
enough to accomodate any FastCGI PDU sent by the application. If not an error
is reported. This environment variable can be used to set this buffer size.
The FastCGI Specification limits this at 65,535 bytes maximum.
script=params=(fcgi_connect=localhost:45678,fcgi_buffer=32768) |
FCGI_STDERR |
Include the application server's STDERR stream in request output. Normally
this goes into the bit-bucket but may be useful when 'debugging'.
script=params=(fcgi_connect=localhost:45678,fcgi_stderr=1) |
FCGI_WATCH |
Provide 'debugging' information as plain-text output. Significant events and a
full hexadecimal dump of network traffic provide a useful snapshot of any one
transaction.
script=params=(fcgi_connect=localhost:45678,fcgi_watch=1) |
Problems?