Just so it&#39;s not one-sided, I moved from FastCGI to mod_perl some years back. Start up and restart time was one issue, IIRC, but mod_perl was trivial to configure and solved stability issues we were seeing.  I never went back, so maybe it&#39;s better now.  Is there now a manager that will spawn more FastCGI processes based on load?<div>

<br></div><div>The Catalyst server is used for development.  The app knows it&#39;s running with that engine and disables the SSL requirements, but logs that the page would be blocked if not in SSL.</div><div><br></div><div>

Starting different configurations is no problem at all.  I have an app startup script that generates the httpd.conf file from configuration files at startup time.  It&#39;s basically start_app --app=foo --mode=testing.   The apps have dev, testing, qa, stating, and production modes, so as you can see it&#39;s not a big deal.  All those are on different machines, but different modes can use different ports, of course, so can be on the same machine.</div>

<div><br></div><div>I&#39;m usingCronolog so there&#39;s no log rotation/restart needs.</div><div><br></div><div>mod_perl does seem a bit heavy weight just to serve requests, especially since all we use is the response handler.  We also don&#39;t use many modules (SSL is not handled by Apache).  I&#39;ve meant to look at other server options, but there&#39;s not pressing need.</div>

<div><br></div><div>I don&#39;t really see how what server you use effects error messages.  Stderr is stderr.   I would never use the canned Apache error responses anyway for a site.</div><div><br></div><div>True, Apache can run as only one user.  But, that&#39;s normally the apache (or whatever) user which has very limited access, which is what you want.  So, I don&#39;t see a benefit of running as different users.  Apps may need to run on multiple machines so only part of the file system need access to would be for temp files.</div>

<div><br></div><div>I think mod_perl is daunting to some due to all the possibilities (and default httpd.conf Apache provides) but really the config required to get it to serve a Catalyst app is just a few lines.  My entire files are pretty small:</div>

<div><br></div><div><div>$ fgrep -v &#39;#&#39; httpd.conf | grep -v &#39;^$&#39; |grep -v LoadModule | grep -v &#39;Module&gt;&#39; | wc -l</div><div>40</div><div><br></div></div><div><br><div class="gmail_quote"><br></div>

<br>-- <br>Bill Moseley<br><a href="mailto:moseley@hank.org">moseley@hank.org</a><br>
</div>