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

时间:2015-06-02 10:17:26

标签: c++ apache c++11 fastcgi mod-fcgid

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

不幸的是,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模块?

1 个答案:

答案 0 :(得分:0)

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

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