mod_perl
mod_perl — додатковий модуль для веб-сервера Apache, що інтегрує інтерпретатор мови програмування Perl.
Однією з переваг використання mod_perl є значне (іноді у 200 разів) збільшення пропускної здатності веб-сервісів написаних з використанням mod_perl. Це зумовлено тим, що веб-серверу не треба для кожного запиту запускати інтерпретатор Perl, код компілюється одноразово при старті веб-сервера.
Також mod_perl забезпечує повний доступ до API веб-сервера, що дозволяє програмісту мати доступ до кожного етапу обробки запиту веб-сервером. Слід зазначити, що mod_perl надає можливість розробки динамічних конфігураційних файлів веб-сервера Apache написаних на Perl, що є досить унікальною особливістю.
Приклад використання
Приклад динамічног конфігураційного файлу веб-сервера Apache
<Perl>
my $host = 'example.net';
push @{$VirtualHost{'*:8080'}}, {
ServerName => $host,
DocumentRoot => '/var/www/'.$host,
PerlSwitches => '-Mlib=/var/www/'.$host.'/lib',
PerlOptions => '+Parent -ParseHeaders',
Location => {
'/' => {
SetHandler => 'perl-script',
SetInputFilter => 'apreq2',
PerlResponseHandler => 'Index'
}
}
};
</Perl>
Приклад обробки запиту для вище зазначеного конфігураційного файлу
package Index;
use Apache2::Const qw/OK/;
sub handler {
my $r = shift;
$r->content_type('text/html');
print 'Hello world';
return OK;
}
1;
Посилання
- головний сайт(англ.)
Література
- Practical mod_perl is a complete book available online.(англ.)
- mod_perl Developer’s Cookbook with sample chapters.(англ.)