Как пинговать сервер FastCGI? - PullRequest
2 голосов
/ 19 августа 2009

Как проверить, работает ли сервер FastCGI и работает ли он нормально, кроме установки TCP-соединения?

У меня есть несколько удаленных, автономных серверов FastCGI. Я хочу контролировать сам сервер FastCGI, чтобы убедиться в его работоспособности. Недостаточно просто сделать запрос веб-серверу, поскольку он автоматически обходит мертвый сервер.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 октября 2009

Вы можете использовать программу cgi-fcgi, которая поставляется с FastCGI development kit . На Debian-подобных системах и в macports программа включена в пакет libfcgi.

Мой скрипт с вызовом cgi-fcgi опубликован в http://gist.github.com/209446

1 голос
/ 30 августа 2009

Вы можете подключиться к серверу 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 в качестве ответа.

...