IIS and FastCGI/Scripting languages/Perl/Catalyst

From Wikibooks, open books for an open world
Jump to navigation Jump to search

This is a quick overview of Catalyst and FastCGI. This assumes you've already registered the interpreter.

Tested with Catalyst 5.7014 and 5.7015.

Stansa in fcgiext.ini[edit | edit source]

Make sure you have something like this:

[Catalyst]
ExePath=C:\strawberry\perl\bin\perl.exe
; The -e is important, this flag tells MyApp_fastcgi.pl to change the way it treats stderr
Arguments="D:\Inetpub\www\DMApp\script\MyApp_fastcgi.pl -e"

; these three lines tell it to always let Cat handle requests.
IgnoreDirectories=1
IgnoreFiles=1
IgnoreExistingFiles=1

; these three lines you can muck with for performance/resource optimizations
QueueLength=999
MaxInstances=20
InstanceMaxRequests=500

Editing MyApp_fastcgi.pl[edit | edit source]

This is no longer needed now that MyApp_fastcgi.pl accepts arguments (-e) in above

Some early versions (still bugged as of writing) need to have stderr mucked with in order to run on windows. You'll have to make a change to MyApp_fastcgi.pl.

Change the line that says keep_stderr

 
DMApp->run(
    $listen,
    {   nproc   => $nproc,
        pidfile => $pidfile,
        manager => $manager,
        detach  => $detach,
  keep_stderr => $keep_stderr,
    }
);

To 1:

 
DMApp->run(
    $listen,
    {   nproc   => $nproc,
        pidfile => $pidfile,
        manager => $manager,
        detach  => $detach,
        keep_stderr => 1,
    }
);