首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Apache和mod_fastcgi的Plack::App::CGIBin未找到

通过Apache和mod_fastcgi的Plack::App::CGIBin未找到
EN

Stack Overflow用户
提问于 2013-10-17 17:33:51
回答 1查看 960关注 0票数 34

我正在尝试让Plack::App::CGIBin在FreeBSD 8.2上使用Apache2和FastCGI。最终的目标是能够使用这个设置通过Plack提供一大堆遗留的CGI脚本,以便利用它的中间件功能,但我甚至连一个简单的例子都不能运行。

我遵循了关于Plack::Handler::FCGIPlack::App::CGIBin本身的CPAN文档,但我不确定我是否遗漏了什么,或者做错了什么,这些文档没有涵盖这些内容。

这是我添加的Apache配置:

代码语言:javascript
复制
# Set up external server
FastCgiExternalServer /tmp/placktest.fcgi -socket /tmp/fcgi.socket

# URL to be handled by FastCGI
Alias /plack/ /tmp/placktest.fcgi/

运行外部服务器的命令:

代码语言:javascript
复制
plackup -s FCGI --listen /tmp/fcgi.socket /data/www/psgi/app.psgi

服务器启动成功,返回如下信息:

代码语言:javascript
复制
FastCGI: manager (pid <pid>): initialized
FastCGI: manager (pid <pid>): server (pid <pid>) started
FastCGI: server (pid <pid>): initialized

这是app.psgi:

代码语言:javascript
复制
#!/usr/bin/env plackup -s FCGI

use Plack::App::CGIBin;
use Plack::Builder;

my $app = Plack::App::CGIBin->new(
    root => '/data/www/plack',
)->to_app;

builder {
    mount "/plack" => $app;
};

然后我在/data/www/plack/test.cgi上有了一个简单的CGI脚本(这个文件在CGI.pm下运行得很好)。

我所期望的是,对http://<domain>/plack/test.cgi/的请求(包括尾随的斜杠)将返回测试脚本,但我总是在Apache错误日志中收到以下404错误,我认为这是从FastCGI服务器返回的:

代码语言:javascript
复制
FastCGI: server "/tmp/placktest.fcgi" stderr: <IP address/date>; "GET /plack/test.cgi HTTP/1.1" 404 9 "-" <User agent string>;

我使用mod_fastcgi和一个应用了SetHandler fastcgi-script的目录中的一个简单示例脚本,让FastCGI自己工作,所以至少这样做是有效的:-)。

有没有人让Plack::App::CGIBin在类似的场景下工作?我非常感谢任何有见地的人!

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-02-21 20:58:15

我猜你需要改变

代码语言:javascript
复制
builder {
    mount "/plack" => $app;
};

代码语言:javascript
复制
builder {
    mount "/" => $app;
};

因为您的别名正在删除/plack/

或者只是改变

代码语言:javascript
复制
# URL to be handled by FastCGI
Alias /plack/ /tmp/placktest.fcgi/

代码语言:javascript
复制
# URL to be handled by FastCGI
Alias /plack/ /tmp/placktest.fcgi/plack/

毕竟,这似乎不是一个Perl问题,而是一个关于Apache配置的系统管理员问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19423022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档