[Catalyst-commits] r10924 - trunk/examples/CatalystAdvent/root/2005
dandv at dev.catalyst.perl.org
dandv at dev.catalyst.perl.org
Sat Jul 18 02:39:07 GMT 2009
Author: dandv
Date: 2009-07-18 02:39:07 +0000 (Sat, 18 Jul 2009)
New Revision: 10924
Modified:
trunk/examples/CatalystAdvent/root/2005/17.pod
Log:
Changed FastCGI deployment to point to the updated Cookbook entry
Modified: trunk/examples/CatalystAdvent/root/2005/17.pod
===================================================================
--- trunk/examples/CatalystAdvent/root/2005/17.pod 2009-07-18 01:16:51 UTC (rev 10923)
+++ trunk/examples/CatalystAdvent/root/2005/17.pod 2009-07-18 02:39:07 UTC (rev 10924)
@@ -6,104 +6,10 @@
As a companion to Day 7's mod_perl article, today's article is about
production FastCGI deployment.
-=head2 Pros
+[Content migrated to L<Catalyst::Manual::Cookbook/Deployment>]
-=head3 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.
-
-=head3 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.
-
-=head3 Load-balancing
-
-You can launch your application on multiple backend servers and allow the
-frontend web server to load-balance between all of them. And of course, if
-one goes down, your app continues to run fine.
-
-=head3 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.
-
-=head3 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.
-
-=head2 Cons
-
-=head3 More complex environment
-
-With FastCGI, there are more things to monitor and more processes running
-than when using mod_perl.
-
-=head2 Setup
-
-=head3 1. Install Apache with mod_fastcgi
-
-mod_fastcgi for Apache is a third party module, and can be found at
-L<http://www.fastcgi.com/>. It is also packaged in many distributions, for
-example, libapache2-mod-fastcgi in Debian.
-
-=head3 2. Configure your application
-
- # Serve static content directly
- DocumentRoot /var/www/MyApp/root
- Alias /static /var/www/MyApp/root/static
-
- FastCgiServer /var/www/MyApp/script/myapp_fastcgi.pl -processes 3
- Alias /myapp/ /var/www/MyApp/script/myapp_fastcgi.pl/
-
- # Or, run at the root
- Alias / /var/www/MyApp/script/myapp_fastcgi.pl/
-
-The above commands will launch 3 app processes and make the app available at
-/myapp/
-
-=head2 Standalone server mode
-
-While not as easy as the previous method, running your app as an external
-server gives you much more flexibility.
-
-First, launch your app as a standalone server listening on a socket.
-
- script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5 -p /tmp/myapp.pid -d
-
-You can also listen on a TCP port if your web server is not on the same
-machine.
-
- script/myapp_fastcgi.pl -l :8080 -n 5 -p /tmp/myapp.pid -d
-
-You will probably want to write an init script to handle starting/stopping
-of the app using the pid file.
-
-Now, we simply configure Apache to connect to the running server.
-
- # 502 is a Bad Gateway error, and will occur if the backend server is down
- # This allows us to display a friendly static page that says "down for
- # maintenance"
- Alias /_errors /var/www/MyApp/root/error-pages
- ErrorDocument 502 /_errors/502.html
-
- FastCgiExternalServer /tmp/myapp -socket /tmp/myapp.socket
- Alias /myapp/ /tmp/myapp/
-
- # Or, run at the root
- Alias / /tmp/myapp/
-
=head2 More Info
-Lots more information is available in the new and expanded FastCGI docs that
-will be part of Catalyst 5.62. For now you may read them here:
-L<http://dev.catalyst.perl.org/file/trunk/Catalyst/lib/Catalyst/Engine/FastCGI.pm>
+L<Catalyst::Engine::FastCGI>
--Andy Grundman
More information about the Catalyst-commits
mailing list