Развертывание Perl Dancer2 с FastCGI + Apache2.4 в Windows 7

Я новичок и занимаюсь развертыванием быстрого приложения с использованием платформы Strawberry Perl v5.20 Dancer2 в 64-разрядной версии Windows 7.

C:\xampp\apache\bin>httpd.exe -v
Server version: Apache/2.4.17 (Win32)
Apache Lounge VC11 Server built:   Oct 13 2015 10:54:13

При использовании собственного CGI, как указано в руководстве по развертыванию Dancer, рендеринг выполняется очень медленно [~ 4 с] по сравнению с использованием plackup app.pl [~ 400 мс]

Ниже приведена моя рабочая конфигурация cgi apache:

<VirtualHost *:80>
        ServerName xyz
        DocumentRoot C:/xampp/cgi-bin/xyz/public
        ServerAdmin [email protected]
        <Directory "C:/xampp/cgi-bin/xyz/public">
           AllowOverride None
           Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
           Order allow,deny
           Allow from all
           AddHandler cgi-script .cgi
        </Directory>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ /dispatch.cgi$1 [QSA,L]
</VirtualHost>

Поскольку моему приложению требуется одновременный доступ, для повышения производительности я планирую перейти на mod_fastcgi.

  1. Есть ли какие-либо изменения в приведенной выше конфигурации или в httpd.conf, которые могут помочь мне улучшить производительность?

  2. Любая другая многопроцессорная/поточная альтернатива для Windows?

  3. Я искал совсем немного и отказался. Нужна ваша помощь в поиске бинарника mod_fastcgi для Windows, поддерживающих Apache 2.4.

  4. Я пытался использовать тот, что находится по этому адресу, но, похоже, он скомпилирован для Apache 2.2 http://strawberryperl.com/package/kmx/mod_fastcgi/ Перезапуск apache с этим не работает с указанными ниже изменениями.

    #LoadModule fastcgi_module modules/mod_fastcgi.so
    #<IfModule mod_fastcgi>
    #  AddHandler fastcgi-script .fcgi
    #</IfModule>
    #RewriteRule ^(.*)$ /dispatch.fcgi$1 [QSA,L]
    

Спасибо большое за вашу помощь.


person Stavan Shah    schedule 17.03.2016    source источник
comment
Большинство основных людей Dancer не часто используют переполнение стека. Лучше всего зайти на #dancer на irc.perl.org и спросить там или указать на этот вопрос. Там будет кто-то дружелюбный, чтобы объяснить это вам там.   -  person simbabque    schedule 17.03.2016
comment
Спасибо @simbabque. Попробую опубликовать по этой ссылке.   -  person Stavan Shah    schedule 19.03.2016


Ответы (1)


Это кажется слишком очевидным, но ваш код Apache заглушен, вам нужно удалить «#», чтобы он работал.

person wgeorge    schedule 08.06.2016
comment
Конечно, # были удалены перед использованием того же самого. Но это не помогло. - person Stavan Shah; 10.06.2016