Prep for build (v5.9002)
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Deployment.pod
CommitLineData
01b62b15 1=head1 NAME
2
3Catalyst::Manual::Deployment - Deploying Catalyst
4
0e8eed8e 5=head1 DEPLOYMENT OPTIONS
01b62b15 6
5abded07 7Catalyst applications are most often deployed as a FastCGI or mod_perl
8application (with FastCGI being the recommended option). However, as
9Catalyst is based on the L<PSGI> specification, any web handler
10implementing that specification can be used to run Catalyst
11applications.
0e8eed8e 12
506ff3c8 13This documentation most thoroughly covers the normal and traditional deployment
14options, but will mention alternate methods of deployment, and we welcome
15additional documentation from people deploying Catalyst in non-standard
16environments.
0e8eed8e 17
5abded07 18=head2 Deployment in a shared hosting environment
2d62c370 19
5abded07 20Almost all shared hosting environments involve deploying Catalyst as a
21FastCGI application on Apache. You will usually want to have a set of
22libraries specific to your application installed on your shared host.
01b62b15 23
5abded07 24Full details of deploying Catalyst in a shared hosting enviroment are at
506ff3c8 25L<Catalyst::Manual::Deployment::SharedHosting>.
01b62b15 26
0e8eed8e 27=head2 FastCGI
28
5abded07 29FastCGI is the most common Catalyst deployment option. It is documented
506ff3c8 30generally in L<Catalyst::Manual::Deployment::FastCGI>, and there are specific
5abded07 31instructions for using FastCGI with common web servers below:
01b62b15 32
0e8eed8e 33=head3 Apache
01b62b15 34
35L<Catalyst::Manual::Deployment::Apache::FastCGI>
36
0e8eed8e 37=head3 nginx
38
39L<Catalyst::Manual::Deployment::nginx::FastCGI>
40
41=head3 lighttpd
42
43L<Catalyst::Manual::Deployment::lighttpd::FastCGI>
44
45=head3 Microsoft IIS
46
47L<Catalyst::Manual::Deployment::IIS::FastCGI>
48
2d62c370 49=head2 mod_perl
50
5abded07 51Traditionally a common deployment option for dedicated applications,
52mod_perl has some advantages and disadvantages over FastCGI. Use of
53mod_perl is documented in
506ff3c8 54L<Catalyst::Manual::Deployment::Apache::mod_perl>.
2d62c370 55
0e8eed8e 56=head2 Development Server
57
5abded07 58It is possible to deploy the Catalyst development server behind a
59reverse proxy. This may work well for small-scale applications which are
60in an early development phase, but which you want to be able to show to
61people. See L<Catalyst::Manual::Deployment::DevelopmentServer>.
0e8eed8e 62
63=head2 PSGI
01b62b15 64
5abded07 65Catalyst can be deployed with any PSGI-compliant handler. See L<Catalyst::PSGI>
66for more information; a list of possible deployment servers are shown
506ff3c8 67below:
2d62c370 68
69=head3 Starman
70
5abded07 71L<Starman> is a high-performance Perl server implementation, which is designed
506ff3c8 72to be used directly (rather than behind a reverse proxy). It includes HTTP/1.1
5abded07 73support, chunked requests and responses, keep-alive, and pipeline requests.
2d62c370 74
5abded07 75=head3 Starlet
2d62c370 76
506ff3c8 77Starlet is a standalone HTTP/1.0 server with keepā€alive support which is
78suitable for running HTTP application servers behind a reverse proxy.
2d62c370 79
80=head3 Twiggy
81
5abded07 82L<Twiggy> is a high-performance asynchronous web server. It can be used
83in conjunction with Catalyst, but there are a number of caveats which
84mean that it is not suitable for most deployments.
2d62c370 85
01b62b15 86=head1 AUTHORS
87
88Catalyst Contributors, see Catalyst.pm
89
90=head1 COPYRIGHT
91
92This library is free software. You can redistribute it and/or modify it under
93the same terms as Perl itself.
94
95=cut
19a5b486 96