Release commit for 5.9013
[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
11d412b6 71=head3 NGINX Unit
72
73L<NGINX Unit|https://unit.nginx.org> is a lightweight, dynamically configurable
74web app server that supports running PSGI-capable apps.
75
2d62c370 76=head3 Starman
77
5abded07 78L<Starman> is a high-performance Perl server implementation, which is designed
506ff3c8 79to be used directly (rather than behind a reverse proxy). It includes HTTP/1.1
5abded07 80support, chunked requests and responses, keep-alive, and pipeline requests.
2d62c370 81
5abded07 82=head3 Starlet
2d62c370 83
506ff3c8 84Starlet is a standalone HTTP/1.0 server with keepā€alive support which is
85suitable for running HTTP application servers behind a reverse proxy.
2d62c370 86
87=head3 Twiggy
88
5abded07 89L<Twiggy> is a high-performance asynchronous web server. It can be used
90in conjunction with Catalyst, but there are a number of caveats which
91mean that it is not suitable for most deployments.
2d62c370 92
815bcace 93=head2 Chef
94
56a12748 95L<Chef|https://www.chef.io/products/chef-infra/> is an open-source systems integration
815bcace 96framework built specifically for automating cloud computing deployments. A
97Cookbooks demonstrating how to deploy a Catalyst application using Chef is
56a12748 98available at L<https://supermarket.chef.io/cookbooks/catalyst> and
080bb620 99L<https://github.com/melezhik/cookbooks/wiki/Catalyst-cookbook-intro>.
815bcace 100
01b62b15 101=head1 AUTHORS
102
103Catalyst Contributors, see Catalyst.pm
104
105=head1 COPYRIGHT
106
107This library is free software. You can redistribute it and/or modify it under
108the same terms as Perl itself.
109
110=cut
19a5b486 111