Scroll to navigation

Catalyst::Manual::Deployment::DevelopmentServer(3pm) User Contributed Perl Documentation Catalyst::Manual::Deployment::DevelopmentServer(3pm)


Catalyst::Manual::DevelopmentServer - Development server deployment

The development server is a mini web server written in Perl. However, if you supply the "-f" option to the development server, it will load the higher performance Starman server, which can be used as an application server with a lightweight proxy web server at the front.


Start up the development server

   script/ -p 8080 -k -f --pidfile=/tmp/

You will probably want to write an init script to handle stop/starting the app using the pid file.

Configuring Apache

Make sure mod_proxy is enabled and add:

    # Serve static content directly
    DocumentRoot /var/www/MyApp/root
    Alias /static /var/www/MyApp/root/static
    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    # Need to specifically stop these paths from being passed to proxy
    ProxyPass /static !
    ProxyPass /favicon.ico !
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
    # This is optional if you'd like to show a custom error page
    # if the proxy is not available
    ErrorDocument 502 /static/error_pages/http502.html

You can wrap the above within a VirtualHost container if you want different apps served on the same host.

Other web servers

The proxy configuration above can also be replicated with a different frontend server or proxy, such as varnish, nginx, or lighttpd.


Catalyst Contributors, see


This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.

2020-07-25 perl v5.30.3