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 with mod_fastcgi then remove deflate.load and deflate.conf from mods-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. πŸ’œ

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