Jifty::Script::FastCGI - A FastCGI server for your Jifty application
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
FastCGI entry point for your Jifty application
Set maximum number of requests per process. Read also --man.
Print a brief help message and exits.
Prints the manual page and exits.
This command is provided for compatibility. You should probably use Plack's FastCGI deployment tools with the app.psgi file come with your jifty app.
app.psgi
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.
FastCGI
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.
--maxrequests=N
# 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/
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.
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 for how to configure your server.
Since this uses Plack::Handler::FCGI, you might also want to read its documentation on webserver configurations.
Creates a new FastCGI process.
To install Jifty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Jifty
CPAN shell
perl -MCPAN -e shell install Jifty
For more information on module installation, please visit the detailed CPAN module installation guide.