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