NAME
Jifty::Script::FastCGI - A FastCGI server for your Jifty application
SYNOPSIS
AddHandler fastcgi-script fcgiFastCgiServer /path/to/your/jifty/app/bin/jifty -initial-env JIFTY_COMMAND=fastcgiOptions:--maxrequests maximum number of requests per process--help brief help message--man full documentation
DESCRIPTION
FastCGI entry point for your Jifty application
options
- --maxrequests
-
Set maximum number of requests per process. Read also --man.
- --help
-
Print a brief help message and exits.
- --man
-
Prints the manual page and exits.
DESCRIPTION
When you're ready to move up to something that can handle the increasing load your new world-changing application is generating, you'll need something a bit heavier-duty than the pure-perl Jifty standalone server. "FastCGI" is what you're looking for.
If you have MaxRequests options under FastCGI in your config.yml, or command-line option "--maxrequests=N" assigned, the FastCGI process will exit after serving N requests.
SERVER CONFIGURATIONS
Apache + mod_fastcgi
# These two lines are FastCGI-specific; skip them to run in vanilla CGI modeAddHandler fastcgi-script fcgiFastCgiServer /path/to/your/jifty/app/bin/jifty -initial-env JIFTY_COMMAND=fastcgiDocumentRoot /path/to/your/jifty/app/share/web/templatesScriptAlias / /path/to/your/jifty/app/bin/jifty/
Apache + mod_fcgid + mod_rewrite
An alternative to Apache mod_fastcgi is to use mod_fcgid with mod_rewrite. If you use mod_fcgid and mod_rewrite, you can use this in your Apache configuration instead:
DocumentRoot /path/to/your/jifty/app/share/web/templatesScriptAlias /cgi-bin /path/to/your/jifty/app/binDefaultInitEnv JIFTY_COMMAND fastcgi<Directory /path/to/your/jifty/app/bin>Options ExecCGISetHandler fcgid-script</Directory><Directory /path/to/your/jifty/app/share/web/templates>RewriteEngine onRewriteRule ^$ index.html [QSA]RewriteRule ^(.*)$ /cgi-bin/jifty/$1 [QSA,L]</Directory>
It may be possible to do this without using mod_rewrite.
Lighttpd (<http://www.lighttpd.net/>)
Version 1.4.23 or newer is recommended, and you may adapt this config:
server.modules = ( "mod_fastcgi" )server.document-root = "/path/to/your/jifty/app/share/web/templates"fastcgi.server = ("/" => ("your_jifty_app" => ("socket" => "/tmp/your_jifty_app.socket","check-local" => "disable","fix-root-scriptname" => "enable","bin-path" => "/path/to/your/jifty/app/bin/jifty","bin-environment" => ( "JIFTY_COMMAND" => "fastcgi" ),"min-procs" => 1,"max-procs" => 5,"max-load-per-proc" => 1,"idle-timeout" => 20,)))
Versions before 1.4.23 will work, but you should read Plack::Handler::FCGI's lighttpd documentation <http://search.cpan.org/dist/Plack/lib/Plack/Handler/FCGI.pm#lighttpd> for how to configure your server.
More information
Since this uses Plack::Handler::FCGI, you might also want to read its documentation on webserver configurations <http://search.cpan.org/dist/Plack/lib/Plack/Handler/FCGI.pm#WEB_SERVER_CONFIGURATIONS>.
METHODS
run
Creates a new FastCGI process.