Perl Dancer2 Deployment with FastCGI + Apache2.4 on Windows



我是一个新手,正在Windows 7 64位上使用Strawberry Perl v5.20 Dancer2框架部署一个快速应用程序。

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

使用Dancer Deplyoment指南中提到的原生CGI,与使用plackup app.pl[~400ms]相比,渲染非常慢[~4s]

以下是我的工作原生 cgi apache 配置:

<VirtualHost *:80>
        ServerName xyz
        DocumentRoot C:/xampp/cgi-bin/xyz/public
        ServerAdmin you@xyz.com
        <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. 窗口的任何其他多进程/线程替代方案?

  3. 我搜索了很多,但已经放弃了。需要您的帮助来查找支持 Apache 2.4 的 Windows 的mod_fastcgi二进制文件。

  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]
    

非常感谢您的帮助。

这似乎太明显了,但是您的 apache 代码被存根了,您需要删除"#"才能正常工作

最新更新