Chapter 15. Web Server Programming with mod_perl
mod_perl is an Apache module that embeds
the Perl interpreter directly into Apache. There are many advantages
to mod_perl:
Standard CGI programs can be converted to run significantly faster
with little alteration under mod_perl.
Databases can be accessed much more efficiently under mod_perl. You can write custom Apache modules and handlers easily, using Perl
instead of C. mod_perl gives you access to all Apache request stages.
Perl code can be embedded into Apache configuration files. Perl can be used for server-side includes. You have access to the many tools written for mod_perl
servers, such as Mason and AxKit.
mod_perl isn't for everyone. By embedding Perl
directly into the Apache httpd executable,
mod_perl invokes significant overhead of its own. If you only have
static documents, you certainly wouldn't use a
mod_perl-enabled version of Apache to serve them. However, if you
have a lot of dynamic content, you'll find mod_perl
to be extremely powerful. You can also have the best of both worlds
by designing your web site to serve static documents off a
"normal" Apache server and dynamic
documents off a mod_perl server.
At this writing, the release of mod_perl 2.0 is imminent, but
mod_perl 1.3 is considered the stable version. mod_perl 2.0 is a
near-complete rewrite that takes advantage of the threading features
in Apache 2.0 and Perl 5.8. However, mod_perl 2.0 is still considered
experimental. As the migration period to mod_perl 2.0 is expected to
be long, this chapter covers mod_perl 1.3.
|