1Catalyst::Manual::DeploUysmeerntC:o:nFtarsitbCuGtIe(d3C)PaetrallyDsotc:u:mMeanntuaatli:o:nDeployment::FastCGI(3)
2
3
4
6 Catalyst::Manual::Deployment::FastCGI - Deploying Catalyst with FastCGI
7
9 FastCGI is a high-performance extension to CGI. It is suitable for
10 production environments, and is the standard method for deploying
11 Catalyst in shared hosting environments.
12
13 Pros
14 Speed
15
16 FastCGI performs equally as well as mod_perl. Don't let the 'CGI' fool
17 you; your app runs as multiple persistent processes ready to receive
18 connections from the web server.
19
20 App Server
21
22 When using external FastCGI servers, your application runs as a
23 standalone application server. It may be restarted independently from
24 the web server. This allows for a more robust environment and faster
25 reload times when pushing new app changes. The frontend server can
26 even be configured to display a friendly "down for maintenance" page
27 while the application is restarting.
28
29 Load-balancing
30
31 You can launch your application on multiple backend servers and allow
32 the frontend web server to perform load-balancing among all of them.
33 And of course, if one goes down, your app continues to run.
34
35 Multiple versions of the same app
36
37 Each FastCGI application is a separate process, so you can run
38 different versions of the same app on a single server.
39
40 Can run with threaded Apache
41
42 Since your app is not running inside of Apache, the faster mpm_worker
43 module can be used without worrying about the thread safety of your
44 application.
45
46 Widely supported.
47
48 FastCGI is compatible with many server implementations, not just
49 Apache.
50
51 Cons
52 You may have to disable mod_deflate. If you experience page hangs with
53 mod_fastcgi then remove deflate.load and deflate.conf from
54 mods-enabled/
55
56 More complex environment
57
58 With FastCGI, there are more things to monitor and more processes
59 running than when using mod_perl.
60
61 Standalone FastCGI Server
62 In server mode the application runs as a standalone server and accepts
63 connections from a web server. The application can be on the same
64 machine as the web server, on a remote machine, or even on multiple
65 remote machines. Advantages of this method include running the
66 Catalyst application as a different user than the web server, and the
67 ability to set up a scalable server farm.
68
69 To start your application in server mode, install the FCGI::ProcManager
70 module and then use the included fastcgi.pl script.
71
72 $ script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5
73
74 Command line options for fastcgi.pl include:
75
76 -d -daemon Daemonize the server.
77 -p -pidfile Write a pidfile with the pid of the process manager.
78 -l -listen Listen on a socket path, hostname:port, or :port.
79 -n -nproc The number of processes started to handle requests.
80
81 See below for the specific web server configurations for using the
82 external server.
83
85 Any web server which supports FastCGI should work with Catalyst.
86 Configuration recipes for well-known web servers are linked below, and
87 we would welcome contributions from people deploying Catalyst on other
88 web servers.
89
90 Apache
91 Catalyst::Manual::Deployment::Apache::FastCGI
92
93 nginx
94 Catalyst::Manual::Deployment::nginx::FastCGI
95
96 lighttpd
97 Catalyst::Manual::Deployment::lighttpd::FastCGI
98
99 Microsoft IIS
100 Catalyst::Manual::Deployment::IIS::FastCGI
101
103 Catalyst Contributors, see Catalyst.pm
104
106 This library is free software. You can redistribute it and/or modify it
107 under the same terms as Perl itself.
108
109
110
111perl v5.36.0 2022-C0a7t-a2l2yst::Manual::Deployment::FastCGI(3)