[Catalyst] Apache2 and mod_perl deployment issue

Tomas Doran bobtfish at bobtfish.net
Thu Nov 17 09:23:14 GMT 2011


On 16 Nov 2011, at 18:51, Adam Jimerson wrote:

> On Wed, Nov 16, 2011 at 12:10 PM, Tomas Doran  
> <bobtfish at bobtfish.net> wrote:
>
> and shared memory that mod_perl deployment had over fastcgi
>
> This just isn't true unless you're deploying many applications (like  
> the doc says). Are you trying to run half a dozen or more apps?
>
>
> Not a half dozen but would more than likely end up running at least  
> two apps on the server.

I'd take the ability to restart them separately (this being the main  
advantage of external mode) and the fact that they can depend on  
different (and incompatible) versions of libraries (with their own  
local::lib each) over any theoretical memory saving..

> If that is wrong then they is there this section of the manual http://search.cpan.org/~hkclark/Catalyst-Manual-5.9002/lib/Catalyst/Manual/Deployment/Apache/FastCGI.pod#Authorization_header_with_mod_fastcgi_or_mod_cgi 
>   I was able to deploy my app using mod_fcgid, and I wasn't able to  
> authenticate until I added the rewrite rules to the vhost file, so  
> if there is a non mod_rewrite way of doing that then please share.

Right, but this is only if you're doing basic auth (which is  
relatively uncommon), and due to an issue in Apache core itself (you  
don't need to do this for any other web server)...

>  It would also be helpful if the doc listed the pros between  
> Standalone server mode, static mod, and dynamic mode if there are any.

Yes, yes it would. Patches would be very welcome for this - I'll try  
to do it when I next get a tuit, but my TODO list is massive :)

I should also have noted - re speed - that unless you're putting your  
mod_perl behind a front-end web server that's proxying and serving the  
static content for you, then fastcgi is _extremely likely_ to  
_trounce_ mod_perl in real world speed.

The separation you get between 'web application building a page' and  
'web server serving a page to a slow user' means that you need only  
very few (big) fcgi processes, and more (light) web server processes -  
whereas with mod_perl, your app is loaded in every process - so you're  
using memory allocated in the perl interpreter just to send bytes down  
the wire (slowly)...

Cheers
t0m




More information about the Catalyst mailing list