CentOS: mod_perl, directadmin

Народная ссылка: 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 и убедимся, что всё работает.

 







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





  • » Биржа покупки и продажи статей "Liex"
  • » Победители первого тура в конкурсе «Я люблю деньги! Весна-2010»
  • » Продвижение статьями и новый алгоритм Яндекса "Снежинск"
  • » Модуль определения географического положения по IP - mod_GeoIP
  • » Directadmin: установка
  • » Партнерская программа по продаже шпаргалок
  • » Если поисковая оптимизация не дает ожидаемого результата
  • » Новый проект от Блогуна - новые возможности монетизации блогов и сайтов
  • » AllSubmitter - профессиональная программа для раскрутки сайта
  • » CentOS: Bind 9
  • » BODYCLICK - партнерка по покупке и продаже тизерного и баннерного трафика
  • » Программа SERP Parser для автоматической проверки позиций сайтов в ПС
  • » Аналитический обзор рынка FOREX за четверг, 28 января 2010 года
  • » Партнёрская программа по продаже цифровой техники
  • » Прикупи внешних ссылок недорого на Goodseolinks
  • » Биржа трафика для развлекательных сайтов Traff Ru
  • » Сервис авторегистрации в 2790 каталогах и 1600 досках объявлений
  • » Установка Movable Type на локальную машину под Windows
  • » Сервисы социальных новостей
  • » PPA партнерка для RU, DE и ENG трафа Admit Ad
  • » Система размещения рекламы на блогах и форумах "МосКэш"
  • » Автоматизированная система обмена ссылками
  • » Анонс партнерской сети Ping Media
  • » Партнерская программа от интернет-магазина АВС
  • » Анонс партнерской программы от ФотоСтраны.
  • » Партнерская программа по выкупу iframe трафика
  • » Партнерская программа по конвертации женского трафика
  • » Фильмовая партнерская программа KinoBrothers
  • » SMO сервис BlogoVK
  • » Авто-система продвижения сайтов и заработка A-SPS
  • » Выплаты заработанных средств
  • » Продвижение крупных Интернет-проектов
  • » Размещение на своих площадках
  • » АП тИЦ 28.12.2012
  • » Вредные советы: 10 проверенных способов молча загубить свой стандалон-блог
  • » Правка статей в Articles.Sape
  • » 25 лет эволюции SEO
  • » С Днем Рождения, SeoPult!
  • » График работы в праздничные дни
  • » HiText на SofTool 2010
  • » Мы позаботимся о вашей безопасности
  • » Часто задаваемые вопросы
  • » 15 посадочных страниц SaaS компаний (критический анализ с точки зрения конверсии)
  • » АП тИЦ 16.03.2011
  • » С новым годом, новым счастьем!
  • » Один-очень простой способ выдумать столько идей для публикаций в блоге, сколько вам и не снилось
  • » Профессиональный SEO-семинар: "Автоматизация процессов продвижения сайтов"
  • » Все на фронт
  • » Восстановление ссылок «одним кликом»
  • » Ошибка в работе почты
  • » Семнадцать способов улучшить свой блог — на конкретном примере
  • » Пять способов альтернативной работы с Твиттером
  • » Стабильный заработок с партнерской программой AzartCash
  • » Контентный маркетинг — это не только ссылки: руководство по маркетинговой «воронке»
  • » Новые банеры для партнерской программы
  • » API (XML-RPC)
  • » Компании не проводят больше маркетинговые исследования. В современном мире любую маркетинговую информацию можно купить в магазине
  • » На конференции Cybermarketing выступит представитель Google!
  • » Как прокачать Ваш коммерческий успех в социальных сетях в 2013 году (ИНФОГРАФИКА)
  • » «Скажи свое слово!» 3 тур.


Категории


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

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

Популярные записи