dsxd62219570 2009-02-22 10:17
浏览 63
已采纳

在Apache和NGINX之间共享PHP-CGI

I've been running most of my PHP apps on my website on a fastcgi backend, served by NGINX. I have a new application which seems pretty well integrated with Apache; it's heavily dependent on dynamically written .htaccess files, for example. I'm working on modifying it to work natively with NGINX, but that's not yet ready. In the meantime, I was going to have NGINX proxy all connections to that path straight to Apache, and let Apache handle it.

However, I'm on a memory limited VPS, and I'd rather not run one set of PHP-CGI processes for NGINX (with their own APC cache) and another for Apache (using more memory for their APC cache). Has anyone had any luck sharing PHP between the two?

mod_ fcgid doesn't appear to support using already running servers, so I tried mod_ fastcgi. This seemed to work at first, but was sucking up quite a lot of memory (committed -- it was growing, not just static). Worse, I couldn't get the DirectoryIndex line in my apache configs to work with mod_fastcgi!

I added

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

to my Apache config, and all .php pages are processed, but a path like http://example.com/foo/ doesn't server /foo/index.php! If I remove FastCgiExternalServer, then it does find the index.php, but of course just shows it as text.

I'm assuming it's because DirectoryIndex is processed after FastCgiExternalServer, but I have no idea how this can be changed.

  • 写回答

1条回答 默认 最新

  • dongzhidian3538 2009-02-22 19:33
    关注

    Problem solved. The trick was to use the following lines

    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
    

    The relative path in Action + the full path in FastCGIExternalServer did it!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器