如何检查FastCGI服务器是否存活并正常运行,而不仅仅是建立TCP连接?如何ping一个FastCGI服务器?
我有一些远程独立的FastCGI服务器。我想监视FastCGI服务器本身以确保其活着。仅仅提出Web服务器的请求是不够的,因为它会自动绕过死亡服务器。
谢谢!
如何检查FastCGI服务器是否存活并正常运行,而不仅仅是建立TCP连接?如何ping一个FastCGI服务器?
我有一些远程独立的FastCGI服务器。我想监视FastCGI服务器本身以确保其活着。仅仅提出Web服务器的请求是不够的,因为它会自动绕过死亡服务器。
谢谢!
您可以使用FastCGI development kit附带的cgi-fcgi程序。在类似Debian的系统和macports中,程序包含在libfcgi包中。
我与CGI-FCGI调用脚本在http://gist.github.com/209446
您可以连接到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响应。
非常好,谢谢! – Schwern 2009-10-17 20:50:44