2 Stimmen

Können CGI und mod_perl gut zusammenarbeiten?

Ich habe einen Apache-Webserver (ohne mod_perl), der schon seit langem einwandfrei läuft. Es wurde vorgeschlagen, mod_perl zu verwenden, um die Leistung einiger Skripte zu verbessern.

Ich möchte mod_perl auf dem Server installieren, was ein relativ unkomplizierter Prozess zu sein scheint, aber ich bin verwirrt durch einige der Dinge, die bei Google-Suchen auftauchen. Wenn ich mod_perl (über die Debian-Repositories) installiere, werden dann alle meine bestehenden CGIs plötzlich anfangen, "mod_perl zu benutzen" und ein möglicherweise merkwürdiges Verhalten zeigen?

Oder gibt es eine Konfiguration in Apache, die getan werden muss, damit ein altes CGI "mod_perl" verwendet?

Entschuldigen Sie, wenn dies eine einfache Antwort ist, aber ich bin verwirrt, weil die Terminologie in der Dokumentation auf verschiedene Weise verwendet wird.

1voto

Erik Punkte 3777

Mod_perl muss in Ihrer httpd.conf konfiguriert werden, um aktiviert zu werden. Daher wird nicht jedes Skript auf Ihrem Server automatisch mod_perl verwenden.

Normalerweise aktivieren Sie mod_perl pro VHost. Eine übliche Konfiguration von mod_perl für einen VHost sieht wie folgt aus:

<VirtualHost some.funny-domain.com>  
    ServerName some.funny-domain.com
    ServerAdmin admin@funny-domain.com
    DocumentRoot /data/path/to/root/
    Perlrequire /data/path/to/startup.pl
    PerlModule Apache2::Reload
    PerlInitHandler Apache2::Reload
    PerlModule Apache2::RequestRec

    ScriptAlias /cgi-bin/ "/data/path/to/root/cgi-bin/"

    <Location /cgi-bin/>
            SetHandler perl-script
            PerlResponseHandler ModPerl::Registry
            PerlOptions +ParseHeaders
            PerlOptions +SetupEnv
            Options +ExecCGI
    </Location>
    CustomLog logs/access.log combined
    ErrorLog logs/error.log
</VirtualHost>

Seien Sie vorsichtig mit dem automatischen Installationsprozess! Er kann mod_perl aus irgendeinem Grund auf dem falschen Host aktivieren! Sichern Sie zuerst Ihre Konfiguration und Apache-Installation, um ein einfaches "Rollback" durchführen zu können.

Kommentar : Die Zeile " Perlrequire /data/path/to/startup.pl " ist nicht erforderlich. Es ist optional und setzt einige Umgebungsvariablen für die laufenden Skripte unter der mod_perl env.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X