2

我正在尝试使用 Apache 和 fastcgi 运行我的第一个 Perl Catalyst 应用程序。

启动服务器很好,我可以看到应用程序的主页。所有图像/javascript 均已正确加载(因此,我假设静态内容已正确提供)。

由于我不理解动态内容的原因,给了我一个 404:例如,当我尝试访问 www.webapp.org/search 时,我得到“在此服务器上找不到请求的 URL /search”。

好的,这是我为静态内容设置别名的方法

Alias /static /webapp/root/static/
Alias / /webapp/script/webapp_fastcgi.pl

我将documentroot设置为

DocumentRoot /webapp/

此外,我有一个

 <Location />
     Options +ExecCGI 
     Order allow,deny
     Allow from all
     AddHandler fcgid-script .pl
 </Location>

和一个指令

<Files /webapp/script/webapp_fastcgi.pl> 
    PassEnv PERL5LIB 
    SetHandler fastcgi-script
</Files>

配置文件中没有其他内容。

如何添加指令以允许提供动态内容 (www.webapp.com/search)?

提前非常感谢!

4

1 回答 1

2

我在 AddHandler 部分看到一个空格。请检查您的配置文件是否有错字。

AddHandler fcgid-script .pl

如果您还没有这样做,请阅读此内容:

http://wiki.catalystframework.org/wiki/deployment/apache_fastcgi

对于开发工作,您可以在没有 apache 麻烦的情况下使用催化剂:http ://search.cpan.org/~mramberg/Catalyst-Runtime-5.80012/lib/Catalyst/Engine/FastCGI.pm#Standalone_FastCGI_Server

假设 apxs 将 mod_fastcgi.so 安装到 /usr/local/apache/libexec 中,请将以下内容添加到 Apache .conf 文件中:

LoadModule fastcgi_module libexec/mod_fastcgi.so
<IfModule mod_fastcgi.c>
  FastCgiExternalServer /tmp/myapp.fcgi -host myhost:8081
  Alias /myapp/    /tmp/myapp.fcgi/
</IfModule>
于 2013-02-13T15:35:49.143 回答