Apache+fcgi创建SSE应用程序-如何告诉Apache将所有请求立即转发到fcgi模块

Apache+fcgi to create SSE Application - How to tell Apache to forward all requests immediately to the fcgi module?

本文关键字:请求 转发 模块 fcgi 应用程序 SSE 创建 Apache 何告诉 Apache+fcgi      更新时间:2023-10-16

我使用fcgipp在c++中编写了一个fcig模块。该模块能够排队请求,如果有一些特殊设置的请求进来(POST数据,GET数据,URL等),触发所有请求并向它们发送serversenteevent格式的数据。

不幸的是,Apache确实将我的请求排队(使用Iceweasel + w3m进行验证以调用localhost/trigger),因此在此请求超时之前,我的队列中一次只存在一个请求。就在第一个请求超时后,触发器请求进入我的fcgi应用程序,但是好吧…那么就没有触发请求了。

我的Apache设置与标准配置有以下几行不同:

# My cpp application lives there
FcgidWrapper "/var/www/tfcgi_test"
FcgidMaxProcesses 1
FcgidMaxProcessesPerClass 1
FcgidMaxRequestsPerProcess 50
FcgidProcessLifeTime 0

我需要哪些设置,所以apache将请求发送到fcgi模块,只要他们进来?

因为您已经将FcgidMaxProcesses设置为1,所以一次只能有一个应用程序实例处于活动状态。因此,如果您的应用程序的一个实例已经处于活动状态,并且正在为一个请求提供服务,则任何其他传入的请求将不得不等待,直到第一个请求完成。

FcgidMaxProcesses(和FcgidMaxProcessesPerClass)设置为更高的值,以处理多个同时请求