代码之家  ›  专栏  ›  技术社区  ›  Schwern

如何Ping FastCGI服务器?

  •  2
  • Schwern  · 技术社区  · 15 年前

    我如何检查fastcgi服务器是否处于活动状态,并且运行正常,而不仅仅是建立TCP连接?

    我有许多远程、独立的FastCGI服务器。我想监视fastcgi服务器本身,以确保其活动。仅仅提出Web服务器的请求是不够的,因为它会自动围绕一个死掉的服务器进行路由。

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  2
  •   Maciej Pasternacki    15 年前

    您可以使用随附的cgi fcgi程序 FastCGI development kit . 在类似Debian的系统和MacPorts中,程序包含在libfcgi包中。

    我的带有cgi fcgi调用的脚本发布在 http://gist.github.com/209446

        2
  •  1
  •   Artyom    15 年前

    您可以连接到FastCGI服务器并发送控制 FCGI_GET_VALUES 空请求。它应该由fastcgi服务器支持,官方libfcgi应该支持它。

    http://www.fastcgi.com/devkit/doc/fcgi-spec.html

    发送到以下套接字:

    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分作为回应。