[英]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.