当前位置:  开发笔记 > 编程语言 > 正文

在Apache和NGINX之间共享PHP-CGI

如何解决《在Apache和NGINX之间共享PHP-CGI》经验,为你挑选了1个好方法。

我一直在我的网站上运行我的大部分PHP应用程序,在fastcgi后端,由NGINX提供服务.我有一个新的应用程序,似乎很好地与Apache集成; 例如,它严重依赖于动态编写的.htaccess文件.我正在努力修改它以与NGINX本地工作,但还没有准备好.与此同时,我将把NGINX代理连接到该路径直接连接到Apache,并让Apache处理它.

但是,我的内存限制为VPS,我宁愿不为NGINX(带有自己的APC缓存)运行一组PHP-CGI进程,而为Apache运行另一组PHP(使用更多内存用于 APC缓存).有没有人有幸在两者之间分享PHP?

mod_ fcgid似乎不支持使用已经运行的服务器,所以我尝试了mod_ fastcgi.这似乎最初起作用,但吸收了相当多的内存(承诺 - 它正在增长,而不仅仅是静态).更糟糕的是,我无法在我的apache配置中使用DirectoryIndex行来使用mod_fastcgi!

我补充道

    AddHandler php5-fastcgi .php
    FastCgiExternalServer /var/www -host 127.0.0.1:9000

到我的Apache配置,并处理所有.php页面,但像http://example.com/foo/这样的路径不服务器/foo/index.php!如果我删除FastCgiExternalServer,它确实找到index.php,但当然只是将其显示为文本.

我假设它是因为DirectoryIndex是在FastCgiExternalServer之后处理的,但我不知道如何更改它.



1> Mikeage..:

问题解决了.诀窍是使用以下行

FastCGIExternalServer /var/www/fast-cgi-fake-handler -host 127.0.0.1:9000
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /fast-cgi-fake-handler

Action中的相对路径+ FastCGIExternalServer中的完整路径做到了!

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有