X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FDeployment.pod;h=294450f4ff1e8f0668440c2a8f2e0088f39aece8;hp=0ce91472fc2caf4b5e4d6f03ae399bf4747da342;hb=HEAD;hpb=45b58a85a818703c790e8c09786cc449bad3506c diff --git a/lib/Catalyst/Manual/Deployment.pod b/lib/Catalyst/Manual/Deployment.pod index 0ce9147..294450f 100644 --- a/lib/Catalyst/Manual/Deployment.pod +++ b/lib/Catalyst/Manual/Deployment.pod @@ -1,19 +1,102 @@ +=encoding utf8 + =head1 NAME Catalyst::Manual::Deployment - Deploying Catalyst -=head1 +=head1 DEPLOYMENT OPTIONS + +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 L 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 +environments. + +=head2 Deployment in a shared hosting environment -=head1 mod_perl +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. -L +Full details of deploying Catalyst in a shared hosting environment are at +L. -=head1 FastCGI +=head2 FastCGI -=head2 Apache +FastCGI is the most common Catalyst deployment option. It is documented +generally in L, and there are specific +instructions for using FastCGI with common web servers below: + +=head3 Apache L +=head3 nginx + +L + +=head3 lighttpd + +L + +=head3 Microsoft IIS + +L + +=head2 mod_perl + +Traditionally a common deployment option for dedicated applications, +mod_perl has some advantages and disadvantages over FastCGI. Use of +mod_perl is documented in +L. + +=head2 Development Server + +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 L. + +=head2 PSGI + +Catalyst can be deployed with any PSGI-compliant handler. See L +for more information; a list of possible deployment servers are shown +below: + +=head3 NGINX Unit + +L is a lightweight, dynamically configurable +web app server that supports running PSGI-capable apps. + +=head3 Starman + +L 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. + +=head3 Starlet + +Starlet is a standalone HTTP/1.0 server with keep‐alive support which is +suitable for running HTTP application servers behind a reverse proxy. + +=head3 Twiggy + +L 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. + +=head2 Chef + +L 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 L and +L. =head1 AUTHORS