Jifty::Script::FastCGI(3)

NAME
Jifty::Script::FastCGI - A FastCGI server for your Jifty application

SYNOPSIS
    AddHandler fastcgi-script fcgi
    FastCgiServer /path/to/your/jifty/app/bin/jifty -initial-env JIFTY_COMMAND=fastcgi

  Options:
    --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.

 # These two lines are FastCGI-specific; skip them to run in vanilla CGI mode
 AddHandler fastcgi-script fcgi
 FastCgiServer /path/to/your/jifty/app/bin/jifty -initial-env JIFTY_COMMAND=fastcgi

 DocumentRoot /path/to/your/jifty/app/share/web/templates
 ScriptAlias / /path/to/your/jifty/app/bin/jifty/

For lighttpd (<http://www.lighttpd.net/>), use this setting:

 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",
                "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,
            )
        )
    )

If you have MaxRequests options under FastCGI in your config.yml, or commandline option "--maxrequests=N" assigned, the fastcgi process will exit after serving N requests.

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/templates
 ScriptAlias /cgi-bin /path/to/your/jifty/app/bin
 DefaultInitEnv JIFTY_COMMAND fastcgi
 <Directory /path/to/your/jifty/app/bin>
     Options ExecCGI
     SetHandler fcgid-script
 </Directory>
 <Directory /path/to/your/jifty/app/share/web/templates>
     RewriteEngine on
     RewriteRule ^$ index.html [QSA]
     RewriteRule ^(.*)$ /cgi-bin/jifty/$1 [QSA,L]
 </Directory>

It may be possible to do this without using mod_rewrite.

METHODS

  run
Creates a new FastCGI process.