Lunedi 09 Giugno
2003
Architettura Web-Java-Perl
Per aumentare le prestazioni del 70% di un sito Web che utilizza script cgi-perl bisogna integrare perl con Apache.
Con la presente modifica oltre ad avere perl come modulo esterno di Apache si rende disponibile il pool di connessione
ApacheDbi per la gestione istanze Oracle senza dover modificare il software esistente. Tale
miglioria non compromette il funzionamento di Apache con Tomcat.
Segue:
- Schema
- Prodotti da installare
- Realizzazione tecnica
Schema
Prodotti
da installare
-
ApacheDBI-0.81 Contiene : Apache::AuthenDBI.pm, Apache::AuthzDBI.pm,
Apache::DBI.pm , DebugDBI.pm.
- ApacheDBI-0.88 Aggiornamento:
Apache::AuthDBI.pm and Apache::DBI.pm
- mod_perl-1.27
Realizzazione tecnica
Si consiglia di eseguire tutto da utenza root.
Posizionarsi nella directory sorgenti di Apache 1.3.27
Inviare il commando (directory di Apache)
- export EXTRA_LIBS='-lcl'
1) ./configure --prefix=/usr/local/apache
--enable-module=so --enable-module=proxy
--enable-rule=SHARED_CORE --enable-shared=max
2) make
3) stop apache se attivo
4) make install
5) start apache se attivo
6) Verifica tramite log corretto
funzionamento
-
installare
ApacheDBI-0.81 (Segui README)
-
installare
ApacheDBI-0.88 (Segui README)
-
installare
mod_perl-1.27
Posizionarsi nella directory mod_perl
ed eseguire:
- perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1
- make
-
make install
creare il file startup.pl
#!/usr/bin/perl
# example startup
script for persistent database connections
# make sure we are in a sane
environment.
$ENV{GATEWAY_INTERFACE}
=~/^CGI-Perl/ or die "GATEWAY_INTERFACE not Perl!";
use Apache::Registry;
use Apache::Status;
use Apache::DBI;
use Apache::DebugDBI;
$Apache::DBI::DEBUG=2;
#use Apache::AuthenDBI;
#use Apache::AuthzDBI;
$ENV{ORACLE_HOME} = 'path_oracle';
Apache::DBI->connect_on_init("dbi:Oracle:host=xxx.xxx.xxx.xxx;sid=XXXX","xxxxx",
"xxxxxx");
# Moduli da precaricare
use
strict;
#use DBI;
1;
-
nella directory etc di apache modificare il file srm.conf
aggiungere le linee:
PerlModule Apache::DBI
PerlModule Apache::DebugDBI
PerlModule Apache::Registry
PerlModule Apache::Status
-
nella directory etc di apache modificare il file httpd.conf
cambiare togliere il commento alla linea:
ResourceConfig etc/srm.conf
Aggiungere la linea
(il posizionamento file startup
è solo casuale):
PerlRequire /usr/local/apache/etc/startup.pl
PerlFreshRestart On
PerlWarn On
Modificare ed
aggiungere:
ScriptAlias /cgi-perl/ "path-perl/"
<Directory
"/path-perl">
SetHandler perl-script
# PerlHandler
Apache::Registry
#Utilizza programazzione a
oggetti
PerlHandler
Apache::PerlRun
# Fa la fork degli script perl
Options ExecCGI
PerlSendHeader On #Con On non attiva
I Content Type Off: attiva I Content type
</Directory>
Eseguire il restart di apache.
Dal 05/11/2002 questa pagina è stata visitata: |