---
name: "Jifty::Script::FastCGI"
section: "3pm"
platform: "linux"
package: "libjifty-perl"
version: "1.10518+dfsg-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::Script::FastCGI"
---

# Jifty::Script::FastCGI(3pm)

A FastCGI server for your Jifty application

## 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.

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 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/
```

### 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/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.

### 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.
