Catalyst::Manual::Deployment::lighttpd::FastCGI - Deploying Catalyst with lighttpd
These configurations were tested with Lighttpd 1.4.7.
server.document-root = "/var/www/MyApp/root"
fastcgi.server = (
"" => (
"MyApp" => (
"socket" => "/tmp/myapp.socket",
"check-local" => "disable"
)
)
)
server.document-root = "/var/www/MyApp/root"
fastcgi.server = (
"" => (
"MyApp" => (
"socket" => "/tmp/myapp.socket",
"check-local" => "disable",
"bin-path" => "/var/www/MyApp/script/myapp_fastcgi.pl",
"min-procs" => 2,
"max-procs" => 5,
"idle-timeout" => 20
)
)
)
Note that in newer versions of lighttpd, the min-procs and idle-timeout values are disabled. The above example would start 5 processes.
You can also run your application at any non-root location with either of the above modes. Note the required mod_rewrite rule.
url.rewrite = ( "myapp\$" => "myapp/" )
fastcgi.server = (
"/myapp" => (
"MyApp" => (
# same as above
)
)
)
For more information on using FastCGI under Lighttpd, visit https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModFastCGI
Static files can be served directly by lighttpd for a performance boost.
$HTTP["url"] !~ "^/(?:img/|static/|css/|favicon.ico$)" {
fastcgi.server = (
"" => (
"MyApp" => (
"socket" => "/tmp/myapp.socket",
"check-local" => "disable",
)
)
)
}
This will serve everything in the img, static, and css directories statically, as well as the favicon file.
Catalyst Contributors, see Catalyst.pm
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.