我需要提供一些 FCGI 脚本(通过服务应用程序接口,但那无关紧要)来自 nginx。
目前我正在使用spawn_fcgi这样做。这是我找到的唯一解决方案。
我需要了解我的其他选择。还有其他方法可以在 nginx 下运行 FastCGI 吗?
答案1
我个人倾向于尽可能地将 FCGI 进程与 Web 服务器分离,并像管理其他守护进程一样管理它们。就我而言,我已将所有这些事情都改为使用守护进程工具因为它体积小、重量轻,非常可靠,并且能够准确满足您的需要,没有任何混乱或麻烦。
答案2
又没有人提到php-fpm。它现在与 php 本身捆绑在一起,因此您应该阅读PHP 手册中有关 php-fpm 的文档。
答案3
可能存在 cgi-fcgi。您对当前使用的方法有什么不满?
答案4
理论上,PHP 可以通过 3 种方式附加到 nginx:
- 模块。目前,没有 nginx PHP 模块。减去。
- CGI。每次请求都会生成 PHP,单个 php 进程解析单个 php 文件。execve() 开销很明显。Dirty Plus。
- FCGI。预先生成的处理请求的进程,永不停止。另外。
有两种方法可以创建这些 FCGI 进程:
- 预先启动它们。这就是 spawn_fcgi 所做的,没问题。
- 让 nginx 启动它们:nginx 尝试连接到 localhost:,如果没有人在监听,则生成 php FCGI 工作程序。从管理舒适度和稳定性方面来说,这本来会更好,但我从未听说过 nginx 有这样的模块 :) 也许,你会是第一个开发它的人?;)
生成脚本并不邪恶,真的:)
PS 另外,请留意俄语 ;)