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