gpt4 book ai didi

php - Perl-Starman (PSGI) + PHP = Apache2 代理设置? - 怎么做?

转载 作者:可可西里 更新时间:2023-11-01 00:35:45 25 4
gpt4 key购买 nike

如何一起运行:PSGI 和 PHP?

我有 Perl/PSGI 应用程序(在纯 perl Starman 服务器下运行)。现在,出于某种原因也需要运行一个 PHP 应用程序;(,所以(可能)需要 Apache2。问题:

  • 真的需要 Apache for PHP 吗?还是存在其他解决方案?
  • 如何设置反向代理,以便当有人访问 http://mysite/myapp/something 时,将被代理到我的 PSGI“myapp”所在的 Starman?和
  • http://mysite/phpapp/anything - 将转到 php 应用...
  • 我可以设置 Starman 服务器监听另一个端口,例如8080,但想在端口 80 访问两个应用程序 - 因此需要反向代理。

加上:

服务器在我家的 NAT 路由器后面。内部服务器有地址:192.168.1.10,从外面看,路由器有正确的互联网地址。我已重定向所有流量

routerIP:80 -> 192.168.1.10:80
  • 什么是访问两个应用程序的最佳方式:PSGI + PHP 从双方(互联网 +“内部网”)端口: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

关于php - Perl-Starman (PSGI) + PHP = Apache2 代理设置? - 怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com