Catalyst::Manual::Deployment - Deploying Catalyst
Catalyst applications are most often deployed as a FastCGI or mod_perl
application (with FastCGI being the recommended option). However, as Catalyst
is based on the PSGI specification, any web handler implementing that
specification can be used to run Catalyst applications.
This documentation most thoroughly covers the normal and traditional deployment
options, but will mention alternate methods of deployment, and we welcome
additional documentation from people deploying Catalyst in non-standard
Almost all shared hosting environments involve deploying Catalyst as a FastCGI
application on Apache. You will usually want to have a set of libraries
specific to your application installed on your shared host.
Full details of deploying Catalyst in a shared hosting environment are at
FastCGI is the most common Catalyst deployment option. It is documented
generally in Catalyst::Manual::Deployment::FastCGI, and there are specific
instructions for using FastCGI with common web servers below:
Traditionally a common deployment option for dedicated applications, mod_perl
has some advantages and disadvantages over FastCGI. Use of mod_perl is
documented in Catalyst::Manual::Deployment::Apache::mod_perl.
It is possible to deploy the Catalyst development server behind a reverse proxy.
This may work well for small-scale applications which are in an early
development phase, but which you want to be able to show to people. See
Catalyst can be deployed with any PSGI-compliant handler. See Catalyst::PSGI for
more information; a list of possible deployment servers are shown below:
Starman is a high-performance Perl server implementation, which is designed to
be used directly (rather than behind a reverse proxy). It includes HTTP/1.1
support, chunked requests and responses, keep-alive, and pipeline requests.
Starlet is a standalone HTTP/1.0 server with keep‐alive support which is
suitable for running HTTP application servers behind a reverse proxy.
Twiggy is a high-performance asynchronous web server. It can be used in
conjunction with Catalyst, but there are a number of caveats which mean that
it is not suitable for most deployments.
Chef <http://www.opscode.com/chef/> is an open-source systems integration
framework built specifically for automating cloud computing deployments. A
Cookbooks demonstrating how to deploy a Catalyst application using Chef is
available at <http://community.opscode.com/cookbooks/catalyst> and
Catalyst Contributors, see Catalyst.pm
This library is free software. You can redistribute it and/or modify it under
the same terms as Perl itself.