This book is not solely about mod_perl web development. It covers two
main topics: server administration and programming under mod_perl.
At first, you might think these two topics are unrelated. But in real
life, the programmer often needs to know how to build and maintain
the server, and the administrator ends up doing much of the
programming and tweaking himself.
In this book, administrators will learn:
How to build and configure the server, with emphasis on improving
server performance while keeping memory usage low.
How to make sure the server is operating nonstop and, in case of
malfunction, how to get it back online in no time.
How to maximize performance by using multiple servers and additional
tools such as proxies.
How to choose the right machine and components. Often the most
expensive machine isn't much faster than a cheaper
one with more carefully chosen components.
How to allow users to run custom scripts on a mod_perl server.
As for programmers, the good news is that you can be a capable
mod_perl programmer while knowing very little about it. But most of
us don't want to stop at being simply capable: we
want to develop code that's robust, scalable, and
blindingly fast. Here's a taste of the sort of
things we cover in this book:
In CGI, it's often hard to find
what's wrong with a CGI script that returns a
nondescriptive error message to your browser. You can try the
error_log file, but with a complex script you
have to use the -dswitch and call the Perl
debugger, which can be difficult for CGI scripts that
can't be run from the shell. In Chapter 22, we'll show you how you can
run the script in debug mode and control it.
Alas, mod_perl is picky about coding style—for example, it
doesn't like it when you forget to close a file
after opening it. But if you ask nicely, it might enter a special
mode where it will clean up for you. In Chapter 6,
we'll show you how to keep mod_perl happy and keep
the error_log file small.
As you may already know, mod_perl is very fast. But with a little
effort you can make it even faster. The idea is simple: the more
memory (RAM) you have, the more requests you will be able to serve.
However, you may be able to serve more requests using the same amount
of RAM, thanks to memory sharing. For more information, see Chapter 10.
With mod_perl, you never need to reinvent the wheel. If you need a
so-called "shelf solution," this
book includes quite a few copy-and-paste scenarios to inspire you.
Many programmers use mod_perl in conjunction with databases. We start
with the simplest and most basic databases (flat files), continue to
Database Management (DBM) implementations, and finally do an in-depth
study of relational databases with SQL.
Of course, there's lots more, as you can tell from
just the sheer size and weight of the book. This book is filled with
gems of information that, taken together, provide a wealth of
information on how to work effectively with mod_perl.