Catalys...:FastCGI(3)
π NAME π
okay so this page is Catalys...:FastCGI(3), User Contributed Perl Documentation, and it's the manual for Catalyst::Manual::Deployment::FastCGI β literally βDeploying Catalyst with FastCGI.β bestie, this is your deployment cheat sheet. π«Ά
β¨ FastCGI Deployment β¨
FastCGI is a high-performance extension to CGI. It's suitable for production environments, and it's the standard method for deploying Catalyst in shared hosting environments. periodt. π
πΈ Pros πΈ
Speed
FastCGI performs equally as well as mod_perl. Don't let the 'CGI' fool you; your app runs as multiple persistent processes ready to receive connections from the web server. no cap. π₯
App Server
When using external FastCGI servers, your application runs as a standalone application server. It may be restarted independently from the web server. This allows for a more robust environment and faster reload times when pushing new app changes. The frontend server can even be configured to display a friendly "down for maintenance" page while the application is restarting. iconic behavior. π
Load-balancing
You can launch your application on multiple backend servers and allow the frontend web server to perform load-balancing among all of them. And of course, if one goes down, your app continues to run. resilient queen. π¦
Multiple versions of the same app
Each FastCGI application is a separate process, so you can run different versions of the same app on a single server. the way that works? obsessed. π
Can run with threaded Apache
Since your app is not running inside of Apache, the faster mpm_worker module can be used without worrying about the thread safety of your application. slay. β
Widely supported.
FastCGI is compatible with many server implementations, not just Apache. iykyk. π
π Cons π
- You may have to disable
mod_deflate. If you experience page hangs withmod_fastcgithen removedeflate.loadanddeflate.conffrommods-enabled/. not me having to warn you, but here we are. π
More complex environment
With FastCGI, there are more things to monitor and more processes running than when using mod_perl. lowkey more moving pieces, fr fr. π
π§ Standalone FastCGI Server π§
In server mode the application runs as a standalone server and accepts connections from a web server. The application can be on the same machine as the web server, on a remote machine, or even on multiple remote machines. Advantages of this method include running the Catalyst application as a different user than the web server, and the ability to set up a scalable server farm. main character server energy. π
To start your application in server mode, install the FCGI::ProcManager module and then use the included fastcgi.pl script.
$ script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5
Command line options for fastcgi.pl include:
-d,-daemonβ Daemonize the server.-p,-pidfileβ Write a pidfile with the pid of the process manager.-l,-listenβ Listen on a socket path, hostname:port, or :port.-n,-nprocβ The number of processes started to handle requests.
See below for the specific web server configurations for using the external server. π
π WEB SERVERS π
Any web server which supports FastCGI should work with Catalyst. Configuration recipes for well-known web servers are linked below, and we would welcome contributions from people deploying Catalyst on other web servers. come thru, other servers. π«Ά
Apache
Catalyst::Manual::Deployment::Apache::FastCGI
nginx
Catalyst::Manual::Deployment::nginx::FastCGI
lighttpd
Catalyst::Manual::Deployment::lighttpd::FastCGI
Microsoft IIS
Catalyst::Manual::Deployment::IIS::FastCGI
π AUTHORS π
Catalyst Contributors, see Catalyst.pm. π
π COPYRIGHT π
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. π
okay bye bestie π β this page is Catalys...:FastCGI(3), perl v5.42.0, dated 2024-03-23. now go deploy something iconic. β¨
π¦ where this page comes from
- opensuse-leap 16.0: perl-Catalyst-Manual 5.9013-bp160.1.11 Β· Artistic-1.0 OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms