Catalys...ntServer(3)

πŸ’– NAME πŸ’–

okay so bestie, this page is Catalyst::Manual::DevelopmentServer β€” Development server deployment ✨ and it lives in the User Contributed Perl Documentation (the header title is Catalys...ntServer(3), iykyk). The development server is literally 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 β€” and that can be used as an application server with a lightweight proxy web server at the front. no cap.

πŸ›  Setup πŸ› 

✨ Start up the development server ✨

Run this exact command, bestie:

script/myapp_server.pl -p 8080 -k -f --pidfile=/tmp/myapp.pid

ngl 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 this:

           # 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
           </Proxy>

           # 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. ✨

🌈 AUTHORS 🌈

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. πŸ’–

πŸ’« cute lil sign-off: this page comes from perl v5.42.0, dated 2024-03-23, and the header title is Catalys...ntServer(3) β€” periodt, bestie πŸ’…πŸ«Ά

πŸ“¦ where this page comes from