Re: How do you use mod_perl for your web application?

"Randolf Richardson" <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Organization Inter-Corporate Computer & Network Services
Message-ID <[email protected]>
> I'm interested in hearing about what application frameworks (Catalyst,
> CGI::App, Mojolicious) are used here with mod_perl.  Given the number
> of emerging Perl based webservers on CPAN (in addition to Nginx,
> lighty, etc), it seems like there are many more Perl web application
> and webservers out there now than there were five years ago.
[sNip]

	I'm using mod_perl2 for custom internet site development.  Where 
many people might use static HTML pages, or other programming 
languages such as JSP (and others), I have a .pl (Perl source code) 
file in its place (e.g., "index.pl" instead of "index.html").

	On one of my web sites, I documented the steps that I use to 
configure mod_perl2 for this (working sample source code included):

		How to install and configure ModPerl 2
		http://www.modperl.pl/how-to/

	I am hosting hundreds of web sites that I developed with mod_perl2, 
and although most of them are small (and static pages could have 
worked just fine too), there are a few that have PostgreSQL database 
backends (membership management, PayPal integration, full transaction 
history browsing, private forums, etc.).

	I did use DBIx::Class for a while, but eventually moved back to 
straight DBI (and I just finished converting the last site a few days 
ago).  I think DBIx::Class is a wonderful system, but the problem I 
had with it is that new versions were behaving unexpectedly in ways 
that would cause my web sites to stop functioning (unless I enabled 
various "backward compabitility" options), and then re-generating 
classes eventually resulted in the custom classes having to be 
updated as well.  So, I moved back to DBI which is doing the job very 
well for me, and which I find is also more flexible despite being a 
little bit less convenient.  I suspect that I wouldn't be running 
into these issues with a framework system designed to work with 
DBIx::Class.  A DBIx developer in IRC explained to me once that 
DBIx::Class also goes to great lengths to shut off connection caching 
from the Apache::DBI module -- after switching back to DBI, the 
resulting performance gain has me wondering if this is correct.

	At one point I started to create a telnet server for a BBS-type 
system (just for fun), but had to put it on the back-burner due to 
time-constraints (customizing one of Apache 2 HTTPd's connection 
handlers made this possible).  Originally I started out using 
mod_perl on Novell's NetWare OS, but Novell stopped pre-compiling 
mod_perl2 so I switched to NetBSD (which I've been using ever since).

	I also started writing a Wiki system from scratch, and plan to 
continue with that eventually.

	I don't use proxying or virtualization for my web servers (it's all 
running bare-metal), just raw mod_perl2.  I'm extremely pleased with 
the high performance and solid reliability that I get from mod_perl2 
on NetBSD servers, and intend to keep using it (and promoting it) for 
years to come.

Randolf Richardson - [email protected]
Inter-Corporate Computer & Network Services, Inc.
Vancouver, British Columbia, Canada
http://www.inter-corporate.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.