CentOS: mod_perl, directadmin

| Комментариев: 0
Народная ссылка: CentOS: mod_perl, directadmin

Mod_perl -- это С модуль Apache, реализующий Perl интерпретатор + набор Perl модулей, предоставляющих следующие интересные возможности:

1. Кэширование откомпилированых cgi скриптов (Apache::Registry.pm)
2. Perl интерфейс к C API Apache
Большинство разработчиков используют mod_perl чтобы увеличить производительность своих скриптов -- Apache не запускает новый процесс при каждом запросе к script.pl, т.к. имеет теперь свой Perl интерпретатор, и не компилирует script.pl при каждом запросе, т.к. Apache::Registry.pm хранит ваши откомпилированые скрипты в кэше. Perl интерфейс к C API Apache используется разработчиками не так часто.

mod_perl 1.0

Mod_perl - это дополнительный модуль для веб-сервера Apache, встраивающий полнофункциональный интерпретатор языка Perl в сервер.

В случае работы с mod_perl, интерпретатор Perl подгружается и запускается только один раз, при запуске процесса Apache. Выполнение программного кода происходит намного быстрее, чем при работе через mod_cgi, т.к. нет необходимости заново запускать интерпретатор Perl для каждого скрипта.

Преимущества, которые дает использование mod_perl, в сравнении с использованием стандартного интерпретатора Perl совместно с сервером Apache и mod_cgi:

  • возможность создания обработчиков Apache на языке perl;
  • доступ ко всем стадиям обработки http-запросов;
  • увеличение скорости выполнения скриптов за счет снижения затрат времени на регулярную загрузку интерпретатора;
  • увеличение скорости выполнения скриптов и снижение нагрузки на сервер за счет использования Apache::Registry;
  • наличие дополнительных модулей, которые позволяют использовать в разработках сессии, пароли и базы данных с сохранением преимуществ mod_perl;
  • возможность встраивания инструкций perl в конфигурационный файл сервера;
  • perl-интерфейс к API Apache;
  • ментальное: повышенные требования к качеству написания скриптов и как следствие - увеличение скорости выполнения программ и повышение уровня безопасности.

Недостатки mod_perl:

  • высокие требования к объему памяти.

mod_perl 2.0

Mod_perl 2.0 это mod_perl, который предназначен для работы с сервером Apache 2.0. Он учитывает те изменения, которые произошли в развитии Perl и Apache с момента появления mod_perl 1.0.

Наиболее заметные изменения - это появившаяся поддержка тредов на основе ithreads, поддержка работы с Apache::Test, значительные улучшения в обеспечении быстродействия, изменения в работе с Apache API и т.п.

 

Установка и настройка mod_perl 2.0 для apache 2 под directadmin

Устанавливаем mod_perl.

cd /usr/local/directadmin/customapache
./build clean
rm -f configure.*
./build update
./build update_data
./build apache
./buld php n
./build mod_perl

service httpd restart

Настраиваем mod_perl:

Вносим следующие изменения в httpd.conf:

LoadModule perl_module /usr/lib/apache/mod_perl.so

Опять рестарт апача и в логах видим подобную запись:

[notice] Apache/2.0.55-dev (Unix)
  mod_ssl/2.0.55-dev OpenSSL/0.9.7e DAV/2 mod_perl/2.0.2-dev
  Perl/v5.8.7 configured -- resuming normal operations

Чтобы включить registry scripts  добавьте следующие строки в httpd.conf:

Alias /perl/ /home/admin/domains/сайт.ru/public_html/perl/
<Location /perl/>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
</Location>

и теперь создаем файл rock.pl:

# !/usr/bin/perl
  print "Content-type: text/plain\n\n";
  print "mod_perl 2.0 rocks!\n";

устанавливаем соответствующие права:

% chmod a+rx /home/admin/domains/сайт.ru/public_html/perl/rock.pl

перезапускаем апач-сервер и по следующему адресу http://localhost/perl/rock.pl получаем ответ:

mod_perl 2.0 rocks! 

Если не работает, проверяем логи ошибок.

Модули Handler

Теперь можно убедиться, что mod_perl работает.

Напишем следующий фал Rocks.pm и поместим его в директорию /perl/MyApache2/:

  #file:MyApache2/Rocks.pm
  #----------------------
  package MyApache2::Rocks;
 
  use strict;
  use warnings;
 
  use Apache2::RequestRec ();
  use Apache2::RequestIO ();
 
  use Apache2::Const -compile => qw(OK);
 
  sub handler {
      my $r = shift;
 
      $r->content_type('text/plain');
      print "mod_perl 2.0 rocks!\n";
 
      return Apache2::Const::OK;
  }
  1;

И также создаем файл startup.pl, который размещаем в  /perl/ :

use lib qw(/home/httpd/httpd-2.0/perl);
  1;

Добавьляем следующие строки в httpd.conf 

<Location /rocks>
SetHandler perl-script
PerlResponseHandler MyApache2::Rocks
</Location>

PerlRequire /home/admin/domains/сайт.ru/public_html/perl/startup.pl

Далее перезапускаем сервер и обращаемся к http://localhost/rocks.

В ответ должны получить:

mod_perl 2.0 Rocks!

Если это не сработало - проверяем error_log файл.

Если мы хотим, чтобы скрипты выполнялись интерпретатором mod_perl и кэшировался для директории cgi-bin нужно изменить httpd.conf следующим образом:

Закомментируем следующую строку:

#### ScriptAlias /cgi-bin/ /home/сайт.ru/cgi-bin/

Следующие строки добавим:

PerlModule Apache::Registry
<Location /cgi-bin>
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
allow from all
</Location>

Перезапустим Apache и убедимся, что всё работает.

 

   Читать в Яндекс.Ленте    Читать c Google    






Комментировать





  • » Сервис обмена статьями по ключевым темам
  • » Модуль определения географического положения по IP - mod_GeoIP
  • » Аналитический обзор рынка FOREX за четверг, 28 января 2010 года
  • » Биржа трафика и текстовой рекламы "Ad-click"
  • » Покупаем мелкие монеты за 5 тысяч рублей
  • » Программа для регистрации сайта в каталогах и рейтингах
  • » Сервис ручного постинга в блоги с PR1 - PR6
  • » CentOS: CGI скрипты в apache 2.0
  • » Уникальный проект по заработку в сети GreatInvest Group
  • » Партнерская adult программа "Секс деньги"
  • » Анонс сервиса ручной регистрации сайта в каталогах Прогнать.ру
  • » Партнерская программа знакомств Love Planet
  • » Прогрессивный ссылочный агрегатор Кувалда
  • » Биржа покупки и продажи статей "Liex"
  • » Партнерская программа KM
  • » Сервис авторегистрации в 2790 каталогах и 1600 досках объявлений
  • » Первый дискаунтер выделенных серверов ВкусноСервер
  • » KinoPerez - не лучшая партнерка по фильмам
  • » Тестируем бесплатный хостинг Hostinger
  • » Россияне делают деньги в интернете
  • » CentOS: Bind 9
  • » Партнерская программа по реализации MP3 файлов
  • » Центр управления продвижением "Промопарк"
  • » Прикупи внешних ссылок недорого на Goodseolinks
  • » Яндекс и фильтр АГС-30
  • » ModernForex стал еще выгоднее!
  • » Биржа тизерной рекламы Working Teaser
  • » Зарабатываем на любых ссылках
  • » Рекламный брокер "Globo Clicks"
  • » Партнерская программа для женских сайтов
  • » Первый рубеж
  • » Apple. А на что готов ты ради iPad2?
  • » Коды для размножения статей
  • » Добавлена возможность ставить ссылки с nofollow
  • » Лучшие методы SEO: 10 способов увеличить рейтинг сайта
  • » Персональная выдача в Яндексе
  • » Пять шагов к SEO-ориентированной структуре URL сайта
  • » Апдейт ТИЦ
  • » Активация страниц.
  • » «Блогун» переходит с условных долларов на реальные российские рубли
  • » Новый параметр проверки «Стоп-слова в Title»
  • » Трагичная новость
  • » Конкурс от SeoPult и Copiny
  • » Мгновенный вывод через WebMoney
  • » Что нового в Блогуне в июне?
  • » Перевод на посуточные оплаты.
  • » 9 законов привлечения потребителей в Эпоху цифровых технологий
  • » У сервиса MainLink.RU каникулы с 21 по 25 апреля.
  • » Оптимизация посадочной страницы в цифрах
  • » КОНФЕРЕНЦИЯ: Новый тренды в продажах и маркетинге
  • » Поисковая оптимизация - 2007
  • » Переезд на другую площадку
  • » Как оставить отзыв о HiText?
  • » Расширение возможностей вывода средств для партнеров
  • » Механизм создания авторитета (инфографика)
  • » Оценка эффективности поисковых запросов
  • » Самая красивая Снегурочка и самый стильный Дед Мороз
  • » Новый алгоритм модерации заявок в Pr.Sape
  • » Апдейт ТИЦ
  • » Альфа-тестирование сервиса DriveLink »





Категории


Последние записи

Полезные заметки