/usr/share/perl5/Catalyst/Manual/Deployment/FastCGI.pod is in libcatalyst-manual-perl 5.9002-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | =head1 NAME
Catalyst::Manual::Deployment::FastCGI - Deploying Catalyst with FastCGI
=head1 FastCGI Deployment
FastCGI is a high-performance extension to CGI. It is suitable for production
environments, and is the standard method for deploying Catalyst in shared
hosting environments.
=head2 Pros
=head3 Speed
FastCGI performs equally as well as mod_perl. Don't let the 'CGI' fool you;
your app runs as multiple persistent processes ready to receive connections
from the web server.
=head3 App Server
When using external FastCGI servers, your application runs as a standalone
application server. It may be restarted independently from the web server.
This allows for a more robust environment and faster reload times when
pushing new app changes. The frontend server can even be configured to
display a friendly "down for maintenance" page while the application is
restarting.
=head3 Load-balancing
You can launch your application on multiple backend servers and allow
the frontend web server to perform load-balancing among all of them. And
of course, if one goes down, your app continues to run.
=head3 Multiple versions of the same app
Each FastCGI application is a separate process, so you can run different
versions of the same app on a single server.
=head3 Can run with threaded Apache
Since your app is not running inside of Apache, the faster mpm_worker module
can be used without worrying about the thread safety of your application.
=head3 Widely supported.
FastCGI is compatible with many server implementations, not just Apache.
=head2 Cons
You may have to disable mod_deflate. If you experience page hangs with
mod_fastcgi then remove deflate.load and deflate.conf from mods-enabled/
=head3 More complex environment
With FastCGI, there are more things to monitor and more processes running
than when using mod_perl.
=head2 Standalone FastCGI Server
In server mode the application runs as a standalone server and accepts
connections from a web server. The application can be on the same machine as
the web server, on a remote machine, or even on multiple remote machines.
Advantages of this method include running the Catalyst application as a
different user than the web server, and the ability to set up a scalable
server farm.
To start your application in server mode, install the FCGI::ProcManager
module and then use the included fastcgi.pl script.
$ script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5
Command line options for fastcgi.pl include:
-d -daemon Daemonize the server.
-p -pidfile Write a pidfile with the pid of the process manager.
-l -listen Listen on a socket path, hostname:port, or :port.
-n -nproc The number of processes started to handle requests.
See below for the specific web server configurations for using the external
server.
=head1 WEB SERVERS
Any web server which supports FastCGI should work with Catalyst. Configuration
recipies for well-known web servers are linked below, and we would welcome
contributions from people deploying Catalyst on other web servers.
=head2 Apache
L<Catalyst::Manual::Deployment::Apache::FastCGI>
=head2 nginx
L<Catalyst::Manual::Deployment::nginx::FastCGI>
=head2 lighttpd
L<Catalyst::Manual::Deployment::lighttpd::FastCGI>
=head2 Microsoft IIS
L<Catalyst::Manual::Deployment::IIS::FastCGI>
=head1 AUTHORS
Catalyst Contributors, see Catalyst.pm
=head1 COPYRIGHT
This library is free software. You can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
|