除了进行TCP连接之外,如何检查FastCGI服务器是否处于活动状态并正常运行?
我有许多远程独立的FastCGI服务器。我想监视FastCGI服务器本身,以确保它活着。仅仅提出Web服务器请求是不够的,因为它会自动路由死服务器。
谢谢!
答案 0 :(得分:2)
您可以使用FastCGI development kit附带的cgi-fcgi程序。在类似Debian的系统和macports中,程序包含在libfcgi包中。
我的cgi-fcgi调用脚本发布在http://gist.github.com/209446
答案 1 :(得分:1)
您可以连接到FastCGI服务器并发送控制FCGI_GET_VALUES
空请求。它应该由fastcgi服务器支持,官方libfcgi应该支持它。
请参阅http://www.fastcgi.com/devkit/doc/fcgi-spec.html
发送到Socket以下:
unsigned char buf[16] = { 1,9,0,0 ,0,0,8,0 , 0,0,0,0, 0,0,0,0};
// fcgi protocols = 1
// fcgi_get_values = 9
// padding = 8 -- for some reason libfcgi expects non-empty body
// body -- empty 8 bytes.
你应该
unsigned char buf[8] = { 1, 10,0,0, 0,0,0,0 };
// fcgi_protocol = 1
// fcgi_get_values_response = 10
你实际上应该感谢你得到10作为回应。