Zum Inhalt springen
Der Guide für ein smartes Leben.
Mason CMS

Teil 2: CMS-Serie: Mason

Autoren: Redaktion pcmagazin und Anna Kobylinska • 22.4.2009 • ca. 1:25 Min

Performance Damit Webserver die wechselnde Last gut verkraften können, muss man in der Lage sein, die Last der ankommenden Anfragen auf verschiedene Webserver zu verteilen. Das Stichwort heißt hier Load-Balancing. So mag es notwendig sein, den Webserver und FastCGI und eventuell den Webshop auf ...

Performance

Damit Webserver die wechselnde Last gut verkraften können, muss man in der Lage sein, die Last der ankommenden Anfragen auf verschiedene Webserver zu verteilen. Das Stichwort heißt hier Load-Balancing. So mag es notwendig sein, den Webserver und FastCGI und eventuell den Webshop auf separaten Maschinen zu betreiben. Distributed Computing wird aber erst mit FastCGI unterstützt.

Perl, CGI/FastCGI oder Standalone

Die Standard-Umgebung beinhaltet Mason 1.40, den Apache-2.2-Webserver und das mod_perl 2.04-Modul für Apache. Eine alternative Konfiguration basiert auf dem Einsatz von CGI beziehungsweise FastCGI. Mason läuft aber auch durchaus als eine Standalone-Applikation.

Der einfachste Weg, Mason mit CGI-Skripten laufen zu lassen, besteht im Aufrufen des CGIHandler- Moduls. Hier ein Beispiel, das auf das unbedingt Notwendige gekürzt wurde:

#!/usr/bin/perl
use HTML::Mason::CGIHandler;
my $h = HTML::Mason::CGIHandler->new
(
data_dir => '/home/
internetmagazin/code/mason_data',
);
$h->handle_request;

Die httpd.conf von Apache könnte dann wie folgt aussehen:

DocumentRoot /pfad/zum/komponenten/
rootverzeichnis
ScriptAlias /cgi-bin/ /pfad/zu/
cgi-bin/<LocationMatch "\.html$">
Action html-mason /cgi-bin/
mason_handler.cgi
AddHandler html-mason .html</LocationMatch><LocationMatch "^/
cgi-bin/">
RemoveHandler .html</LocationMatch><FilesMatch "
(autohandler|dhandler)$">
Order allow,deny
Deny from all</FilesMatch>

Auf diese Weise sorgt man dafür, dass Apache 2.2 das mason_handler.cgi-Skript immer aufruft, wenn eine URL auf .html endet. Damit Mason bestimmte Verzeichnisse ignoriert, genügt Folgendes:

<LocationMatch "^/(verzeichnis1|
verzeichnis2| verzeichnis3)/">
RemoveHandler.html</LocationMatch>

Mason standalone

Mason kann auch als eine Template-Engine genutzt werden (zum Beispiel mittels Text::Template). Mason bringt enorme Leistungsfähigkeit, aber auch zusätzliche Komplexität ins Spiel. Ein auf das wirklich Nötige gekürztes Skript, mit dem man Mason 1.4 standalone aufrufen kann, sieht zum Beispiel wie folgt aus:

#!/usr/bin/perl
use HTML::Mason;
use strict;
my $interp = HTML::Mason::Interp->
new ();
$interp->exec(<relativerpfad>,<args>...);
Nächste passende Artikel
Die wichtigsten CMS-Grundlagen
Content-Management-Systeme Die wichtigsten CMS-Grundlagen
Anteile am CMS-Markt
Content-Management-Systeme So finden Sie das richtige CMS
Auf das richtige CMS kommt es an
Content-Management-Systeme Auf das richtige CMS kommt es an
internet, webdesign, citus, cms, website
CMS: Redaxo 4.3.2
Online-Redaktionssysteme CMS: Redaxo 4.3.2
CMS: Zikula
Online-Redanktionssysteme CMS: Zikula
Die besten CMS-Themes auf Basis von HTML5
CMS ohne Bauchschmerzen
Provider: Joomla-Hosting CMS ohne Bauchschmerzen