Hello Igor,
Потратил пол-дня на чтение архива, курения гугла, и личных экспериментов с nginx.
Видимо человеческая несообразительность не имеет границ :(
Встала необходимость распределить нагрузку на несколько backend fastcgi серверов.
FrontEnd на nginx.
адрес сервера 1.1.1.1
кусок конфига.
location /search.php {
...
fastcgi_pass 1.1.1.2:5555 ;
fastcgi_param DOCUMENT_ROOT /data/www/htdocs/mysite ;
fastcgi_param SCRIPT_NAME /data/www/htdocs/mysite$fastcgi_script_name ;
fastcgi_param PATH_TRANSLATED /data/www/htdocs/mysite ;
}
На другом сервере, с адресом 1.1.1.2 на порту 5555 поднято десяток php-fcgi .
При обращении на /search.php получаю 502 Bad Gateway
В дебаг логе вижу
2009/05/29 16:10:18 [debug] 8745#0: *36 connect to 1.1.1.2:55555, fd:8 #39
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream connect: -2
2009/05/29 16:10:18 [debug] 8745#0: *36 event timer add: 8: 20000:2357089820
2009/05/29 16:10:18 [debug] 8745#0: *36 http run request: "/search.php?"
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream check client, write event:1, "/search.php"
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream recv(): -1 (11: Resource temporarily unavailable)
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream request: "/search.php?"
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream send request handler
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream send request
2009/05/29 16:10:18 [debug] 8745#0: *36 chain writer buf fl:0 s:896
2009/05/29 16:10:18 [debug] 8745#0: *36 chain writer in: 081838B4
2009/05/29 16:10:18 [debug] 8745#0: *36 writev: 896
2009/05/29 16:10:18 [debug] 8745#0: *36 chain writer out: 00000000
2009/05/29 16:10:18 [debug] 8745#0: *36 event timer del: 8: 2357089820
2009/05/29 16:10:18 [debug] 8745#0: *36 event timer add: 8: 40000:2357109821
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream request: "/search.php?"
2009/05/29 16:10:18 [debug] 8745#0: *36 http upstream process header
2009/05/29 16:10:18 [debug] 8745#0: *36 malloc: 084258E8:32768
2009/05/29 16:10:18 [debug] 8745#0: *36 recv: fd:8 0 of 32768
2009/05/29 16:10:18 [error] 8745#0: *36 upstream prematurely closed connection while reading response header from upstream, client: 10.10.10.101, server: myserver, request: "GET /search.php HTTP/1.1", upstream: "fastcgi://1.1.1.2:5555", host: "ric"
2009/05/29 16:10:18 [debug] 8745#0: *36 http next upstream, 2
Проделывал всё, вплоть до того, что искомый скрипт /search.php разместил по указанному в DOCUMENT_ROOT пути на обеих машинах.
Безрезультатно.
Подскажите пожалуйста, что не так, и как правильно использовать несколько разных fastcgi серверов если они находятся на разных серверах ?
Может дело в каких то передаваемых в nginx location параметрах скрипту.
И уточните пожалуйста, где должен лежать сам исполняемый скрипт, на сервере с nginx или на серверах где подняты fasctgi.