[英]Perl-Starman (PSGI) + PHP = Apache2 proxy setup? - How to do?
如何一起运行:PSGI和PHP?
我有Perl / PSGI应用程序(在纯perl Starman服务器下运行)。 现在,出于某种原因需要运行一个PHP应用程序;(,所以(可能)需要Apache2。问题:
加:
服务器在我的家庭NAT路由器后面。 内部服务器的地址为:192.168.1.10,来自外部,ofc,路由器有正确的互联网地址。 我已经重定向了所有流量
routerIP:80 -> 192.168.1.10:80
Ps:我不需要优化性能,服务器仅用于家庭/演示/测试目的。
编辑:现在,在另一个类似的情况下,我再次检查CPAN,并根据@ rawhide的答案,我找到了Plack :: App :: PHPCGI模块。 效果很好 - 在plackup下测试php应用真的很酷 ......;)
您可以使用Plack::App::CGIBin
或直接使用WrapCGI将其作为CGI(fork + exec)执行
my $rawapp = Plack::App::WrapCGI->new(script => "rawhide.php" , execute => 1 )->to_app;
builder {
mount "/rawhide" => $rawapp ;
};
如果rawhide.php没有shebang,你可以使用/usr/bin/php /path/to/rawhide.php
最简单的方法是在端口80上运行Apache2和PHP,并将mod_proxy安装到Apache进程并反向代理后端Starman的一些路径。 您也可以使用php-fpm作为FastCGI运行php,并执行相同的操作。
因为它是一个演示目的,你可以疯狂地在端口80上运行Starman,然后使用Plack :: App :: FCGIDispatcher来“安装”FastCGI PHP进程。 我尝试了一次 - 它运行良好,但可能仅用于演示目的,而不是用于生产用途。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.