perl - 为什么运行 Apache+FastCGI 的 Catalyst 应用程序不提供动态内容?

标签 perl apache2 catalyst

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

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

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

好的,这是我如何设置静态内容的别名,

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

我设置文档根目录

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)?

提前非常感谢!

最佳答案

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

AddHandler fcgid-script .pl

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

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

对于开发工作,您可以使用 Catalyst,无需 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>

关于perl - 为什么运行 Apache+FastCGI 的 Catalyst 应用程序不提供动态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854594/

相关文章:

python - 在通过 Apache 运行的 Django 中记录消息

apache - 如何为 Catalyst 启用 CORS

perl - 如何分析这个散列示例的散列?

security - 将 Pem/der 证书导入 kdb 文件

bash - 如何使用可能有换行的输入每 n 个字符插入一个模式?

php - 将 PHP 和 Rails 放在同一服务器上

perl - 在 Template Toolkit 中格式化输出的时间戳字段

perl - 关于 Perl 文件名通配符的问题

perl - 在 Moose 中,如何在定义多个属性时声明谓词和更清晰的方法?