от Slavei Karadjov(3-11-2005)
рейтинг (15)
[ добре ]
[ зле ]
Вариант за отпечатване
Един от начините да генерирате динамични
страниците на вашия сайт е CGI скриптове написани
на Perl. Но често проблема който възниква е как да
ги накараме да се изпълняват по-бързо.
CGI (Common Gateway Interface) се е наложило като стандарт
сред сървърите. Предимството на CGI е че всеки уеб
сървър го поддържа и програмите за него могат да
се напишат на различни програмни езици и голямо
количество платформи.
Недостатъка на CGI е неговата неефективност.
Всяко извикване на CGI програми създава нов процес
на сървъра. Ако напишете CGI на Perl то тогава всеки
път при извикване на програмата се зарежда и
стартира и ново копие на Perl интерпретатора. Това
води до използване на още памет и процесорно
време. Естествено е да си зададем въпроса дали
няма по-ефективен начин да се изпълняват
програмите на Perl без да претърпят големи
корекции.
Отговорът на този въпрос е mod_perl модул за
известния Apache Web Server. Този модул зарежда само
веднъж копие на Perl интерпретатора в Apache, като по
този начин не само ускорява изпълнението на perl
скриптовете но и добавя нови възможности към
сървъра.
Може би най-трудния момент при използването на
mod_perl е неговото инсталиране и конфигуриране. За
целта първо трябва да си свалите от интернет
последните версии на Apache и mod_perl. Можете да ги
откриете на следните адреси:
http://www.perl.com/CPAN/modules/by-module/Apache/ - mod_perl
http://perl.apache.org - mod_perl
http://www.apache.org - apache
http://apache.nat.bg - apache
След като сте ги свалили ги копирайте в една
директория например /usr/local/download/ и напишете:
cd /usr/local/downloads
tar -zxvf apache_1.3.11.tar.gz
tar -zxvf mod_perl-1.2.tar.gz
Тези команди ще разархивират файловете и ще
създадат две директории със сорс кодовете на Apache
и mod_perl.
Сега е време да конфигурира Apache за първи път.
Ако не сте правили това преди напишете следните
редове:
cd apache-1.3.11/
./configure --prefix=/www
Където /www може да замените с директорията
където искате да инсталирате вашия web сървър.
Следващите команди който трябва да напише са
следните:
cd ../mod_perl-1.2/
Ако искате да разберете кои настройки на mod_perl
да използвате прочетете README и INSTALL файла преди да
напишете тази команда.
perl Makefile.PL
Ако искате да се активират всички директиви на
mod_perl напишете:
perl Makefile.PL EVERYTHING=1
При изпълнение на тази команда инсталационната
програма ще ви зададе два въпроса.
Configure mod_perl with ../apache-l.3.11/src ? [y]
Shall I build httpd in . ./apache_l .3.11/src for you? [y]
Отговорете и на двата с "y" или просто
натиснете клавиша ENTER.
Командите който остава да напишете са
make
make install
Преди да напишете обаче make install спрете всички
работещи сървъри с командата
killall httpd
Ако до тук сте изпълнявали правилно командите
трябва да сте готови да пуснете вашият нов
сървър. За целта пишете:
/www/bin/apachectrl start
Ако искате да се уверите, че работи вашия нов
сървър напишете следните команди:
telnet localhost 80
и след това
HEAD / HTTP/1.0
Резултата от тази команда трябва да съдържа и
следния ред
Server: Apache/1.3.11 mod_perl/l.20
Което ще рече че вече имате работещ сървър на
порт 80 с mod_perl модул.
За да използвате възможностите на mod_perl ще
трябва да добавите следните редове в httpd.conf файла(
тои се намира в под директория conf на главната
директорията на сървъра):
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
Чрез и тагове показваме, че
искаме тези настройки да важат само за /perl-bin
директорията отколкото за целия сървър. Това ще
рече че само файловете в директорията /perl-bin ще се
третират единствено като perl скриптове и ще се
изпълняват от заредения вече в Apache Perl
интерпретатор.
Добавете също така и следните директиви в httpd.conf
PerlSendHeader On
PerlWarn On
(ако искате предупрежденията при изпълнение на
програмата да се показват, отколкото да се
записват в error.log файла)
PerlTaintCheck On
(ако искате да добавите допълнителна сигурност
към скриптовете си).
След което запишете файла и проверете новата
конфигурация със следната команда:
/www/bin/apachectrl configtest
Край на част първа
Тази статия и други полезни може да прочетете във следващия брой на вестник "PC Ревю"
<< Apache + mod_perl (част 2) | Как да стартираме Linux при стартиране на Win >>
|