slowcgi —
a FastCGI to CGI wrapper server
slowcgi |
[ -d ]
[-p
path ]
[-s
socket ]
[-U
user ]
[-u
user ] |
slowcgi is a server which implements the
FastCGI Protocol to execute CGI scripts. FastCGI was designed to overcome the
CGI protocol's scalability and resource sharing limitations. While CGI scripts
need to be forked for every request, FastCGI scripts can be kept running and
handle many HTTP requests.
slowcgi is a simple server that translates
FastCGI requests to the CGI protocol. It executes the requested CGI script and
translates its output back to the FastCGI protocol.
Modern web frameworks and web applications usually come with the capability to
run as FastCGI servers.
slowcgi is not
intended for these applications.
slowcgi opens a socket at
/var/www/run/slowcgi.sock, owned by
www:www, with permissions 0660. It will then
chroot(8) to
/var/www and drop privileges to user
“www”.
The options are as follows:
-
-
-d
- Do not daemonize. If this option is specified,
slowcgi will run in the foreground and
log to stderr.
-
-
-p
path
- chroot(2) to
path. A
path of
/ effectively disables the chroot.
-
-
-s
socket
- Create and bind to alternative local socket at
socket.
-
-
-U
user
- Change the owner of
/var/www/run/slowcgi.sock to
user and its primary group instead of the
default www:www.
-
-
-u
user
- Drop privileges to user instead of
default user www and
chroot(8) to the home
directory of user.
httpd(8)
Mark R. Brown,
FastCGI Specification, April
1996.
D. Robinson, K. Coar,
The Common Gateway Interface (CGI) Version 1.1,
RFC 3875, October
2004.
The
slowcgi server first appeared in
OpenBSD 5.4.
Florian Obser
<
florian@openbsd.org>
slowcgi only implements the parts of the
FastCGI standard needed to execute CGI scripts. This is intentional.