Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KFCGI(8)		     System Manager's Manual			KFCGI(8)

NAME
     kfcgi -- FastCGI server for kcgi applications

SYNOPSIS
     kfcgi [-drv] [-l backlog] [-n workers] [-N maxworkers] [-p chroot]
	   [-s sockpath] [-u sockuser] [-U procuser] [-w waittime] prog
	   [arg0...]

DESCRIPTION
     The kfcgi server starts up workers processes of prog to handle FastCGI con-
     nections.	 It  can handle any FastCGI worker implementing the FastCGI v1.0
     Specification as well as those implementing the FastCGI Extensions for Man-
     agement Control (see -r, -N, and -w).

     By default, it opens the socket /var/www/run/httpd.sock in mode 0660  under
     the current user and group, changes to a file-system jail in /var/www, dae-
     monises  and  opens  its  system log, then starts 3 workers executing prog,
     which must exist relative to the file-system jail root.   The  back-log  is
     twice  the  worker pool size (-n) or, in the event of variable-sized pools,
     twice the maximum worker size (-N).

     The arguments are as follows:

     -d      Do not daemonise and, in addition	to  syslog,  print  messages  to
	     standard error.

     -v      Be more verbose in output.  This can produce a lot of output.

     -l backlog
	     The  connection backlog.  If this is too small, connections will be
	     refused and cause the request to error out.  The  operating  system
	     will usually truncate this.

     -n workers
	     The initial number of workers >1.

     -N maxworkers
	     The  maximum  number  of  workers in a variable-sized pool.  By de-
	     fault, this is twice -n.

     -p chroot
	     Location of file-system jail.  This is mandatory: use the root  di-
	     rectory if you insist on being insecure.

     -r      Use  a  variable-sized  pool of workers.  This can only be used for
	     workers implementing the FastCGI Extensions for Management Control.
	     The pool will be at least (and initially) size -n, maximum size  -N
	     with a release policy dictated by -w.

     -s sockpath
	     Alternative socket path.

     -u sockuser
	     The user in whose name (user and group) the socket is created.

     -U procuser
	     The user in whose name the process is dropped.

     -w waittime
	     The  amount  of  time in seconds a worker must be idle before being
	     released from a variable-sized pool.  By default, this is five min-
	     utes.

     To properly stop a kfcgi server, send it a SIGTERM.  If you send  a  SIGHUP
     to the process, it will restart all workers.

EXIT STATUS
     The kfcgi utility exits 0 on success, and >0 if an error occurs.

EXAMPLES
     On OpenBSD, the default user for the web server is "www".	Assuming we have
     a	server	that doesn't need any files, we can run the following to keep it
     in a safe jail:

	   # kfcgi -u www -U www -- /fcgi-bin/prog

     This will execute /fcgi-bin/prog within the  default  file-system	jail  of
     /var/www	as   user   "www".    It   will   create   the	 default  socket
     /var/www/run/httpd.sock in mode 0660 as user "www".

     This can also be extended to run a variable-sized pool of workers that  re-
     sponds to system load.

	   # kfcgi -r -n 2 -N 100 -w 10 -u www -U www -- /fcgi-bin/prog

     This  will start with only two servers, but scale it to 100 in the event of
     a burst of communication.	Workers started to handle the burst will be ter-
     minated after 10 seconds.

SEE ALSO
     kcgi(3)

STANDARDS
     kfcgi implements the "FastCGI Specification",  version  1.0,  published  29
     April  1996,  for properly passing connections to the workers.  It also im-
     plements the FastCGI Extensions for Management Control  for  variable-sized
     worker pools.

FreeBSD ports 15.quarterly	   $Mdocdate$				KFCGI(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kfcgi&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help