Revision 25 - 2010-05-05 at 20:20:57

Deploying Catalyst Applications

Before you go automatically searching for the Apache section, stop and think: do you have a specific reason to use Apache? If not, then you might be much better off using nginx or lighttpd. They are easier to configure, faster, and consume less resources.

Here is the CPAN documentation on deployment. It talks about mod_perl vs. FastCGI, and standalone/external FastCGI mode, which is regarded as the most flexible deployment option.

Deployment without a web server

Catalyst comes with a built-in HTTP server for standalone deployment, That server can use various engines, of which Catalyst::Engine::HTTP::Prefork is a high-performance pre-forking Catalyst engine and recommended. To serve your application with HTTP::Prefork, run:

CATALYST_ENGINE='HTTP::Prefork' script/

Init.d script for the standalone server


The nginx web server leads lighttpd in terms of popularity and better resource utilization, according to WikiVS.


The lighttpd web server is lighter, simpler and considerably faster than Apache. If you don't have a specific reason to use Apache, lighttpd will probably do the job with less headache and overhead.


Apache is the heavyweight of web servers. If you don't have a specific reason to use it, consider nginx. If you choose Apache, the next choice is mod_perl vs FastCGI.



Microsoft Internet Information Service - IIS

It is possible to run Catalyst under IIS with FastCGI, but only on IIS 6.0 (Microsoft Windows 2003), IIS 7.0 (Microsoft Windows 2008 and Vista) and hopefully its successors.

NOTE: Do not waste your time to get Catalyst App running as FastCGI on IIS 5.0 (Windows 2000) or IIS 5.1 (Windows XP) it simply is not possible despite the declared FastCGI support.


Installing LiteSpeed and FastCGI for Catalyst

PAR deployment

Managing FastCGI Processes

Deployment on shared hosting

My tags:
Popular tags:
Powered by Catalyst
Powered by MojoMojo Hosted by Shadowcat - Managed by Nordaaker