我用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模块?
答案 0 :(得分:0)
因为您已将FcgidMaxProcesses
设置为1,所以一次只能激活一个应用程序实例。因此,如果您的应用程序实例已处于活动状态并为请求提供服务,则任何其他传入请求都必须等到第一个请求完成。
将FcgidMaxProcesses
(和FcgidMaxProcessesPerClass
)设置为更高的值以处理多个同时请求。