Project

General

Profile

Actions

Fastcgi on apache » History » Revision 4

« Previous | Revision 4/6 (diff) | Next »
Peter Mortensen, 04/15/2011 10:27 PM
Copy edit.


h1. FastCGI on Apache

h2. Using mod_fastcgi

You'll need to enable mod_fastcgi first for Apache. In most cases, this is done by linking the module's configuration file @fastcgi.conf@ from @mods-available@ to @mods-enabled@ (this can be done by running @a2enmod@.

Next you need to modify the configuation file:

AddHandler fastcgi-script .wt
FastCgiIpcDir /var/lib/apache2/fastcgi
FastCgiConfig -idle-timeout 100 -maxClassProcesses 1 -initial-env WT_APP_ROOT=/tmp

This will automatically start any file ending with @.wt@ as a FastCGI executable. You can also use "external CGIs", which allow you to control in more detail how a single application gets started (and restarted):

FastCgiExternalServer /var/www/wt-examples/simplechat/simplechat.wt -host localhost:9091 -idle-timeout 200

For this latter deployment option, you need to use the FastCGI utility @cgi-fcgi@ to run the Wt application independent of the web server. When a request for the application is received by the web server, it is forwarded to your FastCGI application using the FastCGI protocol over the given TCP connection.

The only thing left to do is enable CGI execution in your Apache configuration (see below).

h2. Using mod_fcgid

You'll need to enable mod_fcgid first for Apache. In most cases, this is done by linking the module's configuration file @fcgid.conf@ from @mods-available@ to @mods-enabled@ (this can be done by running @a2enmod@.

Next you need to modify the configuration file:

AddHandler fcgid-script .wt
SocketPath /var/lib/apache2/fcgid/sock
IdleTimeout -1
ProcessLifeTime -1
MaxProcessCount 10
DefaultMaxClassProcessCount 10
DefaultMinClassProcessCount 1

and then do this command:

chown www-data:www-data /var/run/wt -R

h2. Enabling CGI in Apache

Next, we create a new "site" configuration file for Wt applications: @/etc/apache2/sites-available/wt@ which we will install in @/var/www/wt@ (this must be a directory within your docroot):

#Order Deny,Allow
Allow from all
# Enable CGIs to be executed
Options ExecCGI


Then, we need to create folder /var/run/wt and to give the Apache server write permissions to that directory.
Next I enable the site and reload Apache:

a2ensite wt
/etc/init.d/apache2 reload

Updated by Peter Mortensen over 13 years ago · 4 revisions