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.
script/myapp_server.pl -p 8080 -k -f --pidfile=/tmp/myapp.pid
You will probably want to write an init script to handle stop/starting the app
using the pid file.
Make sure mod_proxy is enabled and add:
# Serve static content directly
Alias /static /var/www/MyApp/root/static
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.
The proxy configuration above can also be replicated with a different frontend
server or proxy, such as varnish, nginx, or lighttpd.
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.