Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mod_fcgid + php + nginx 0.7.64 = upstream prematurely closed connection while reading response header from upstream
- To: nginx-ru@xxxxxxxxx
- Subject: mod_fcgid + php + nginx 0.7.64 = upstream prematurely closed connection while reading response header from upstream
- From: Одинцов Павел <pavel.odintsov@xxxxxxxxxxxxxx>
- Date: Tue, 26 Jan 2010 05:58:20 +0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=VTMM16AN98L+j8UZ30RZtd9u0i75p1dNIa5xQejjt5Y=; b=R5s27IO2tL0Z3ESEuLgf4ognnHaOsnSwKAgCJTgE/o1ILvoiBYABHsIgEYwQSydQva KgNY8HNeCHnHmUa/B8xvjWzeHfUHTvHEf7xbJWVCqch5b54HQy+WvfyicT8wX5G8+9fZ i5NplaOlwyMR9Ql5QgyG3WowOHG4LHzJ65Q/Y=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=mEI69Vwozte4kSELUesriVu6NAjP6ERBTfRATjD1UejolNBl7X68zQ5z1C5GxzDJ8/ xvX/uFLBTazJIEUjwVip23uvtTD9qL6CmqatjVR9wLh335iWrWyx2IkvBj5viqhCAETX nIZvmU2s5qGtp85j9GG4EGbj2f2cCMopjBy08=
Доброй ночи!
Столкнулись с такой проблемой: nginx настроен на проксирование Apache,
который выполняет PHP скрипты посредством mod_fcgid. При этом, у
бэкэнда очень часто происходит "мягкий" реалоад апачи посредством
/etc/init.d/apache reload. Проблема в том, что этот реалоад (как я
понимаю, по вине mod_fcgid ) не совсем корректно, что приводит к куче
502х отбоев со следующей ошибкой в логах: upstream prematurely closed
connection while reading response header from upstream
При активированном дебаг логе выходит следующее:
2010/01/26 00:26:00 [debug] 689#0: *8 malloc: 0000000001F18FB0:4096
2010/01/26 00:26:00 [debug] 689#0: *8 recv: fd:21 0 of 4096 ### тут
очень странно такое поведение
2010/01/26 00:26:00 [error] 689#0: *8 upstream prematurely closed
connection while reading response header from upstream, client:
88.198.36.53, server: test1.ru, request: "GET / HTTP/1.0", upstream:
"http://88.198.35.235:8080/", host: "test1.ru"
2010/01/26 00:26:00 [debug] 689#0: *8 http next upstream, 2
2010/01/26 00:26:00 [debug] 689#0: *8 free rr peer 1 4
2010/01/26 00:26:00 [debug] 689#0: *8 finalize http upstream request: 502
2010/01/26 00:26:00 [debug] 689#0: *8 finalize http proxy request
2010/01/26 00:26:00 [debug] 689#0: *8 free rr peer 0 0
2010/01/26 00:26:00 [debug] 689#0: *8 close http upstream connection: 21
2010/01/26 00:26:00 [debug] 689#0: *8 event timer del: 21: 1264454817346
2010/01/26 00:26:00 [debug] 689#0: *8 http finalize request: 502, "/?" 1
2010/01/26 00:26:00 [debug] 689#0: *8 http special response: 502, "/?"
2010/01/26 00:26:00 [debug] 689#0: *8 http set discard body
2010/01/26 00:26:00 [debug] 689#0: *8 HTTP/1.1 502 Bad Gateway
Server: nginx/0.7.64
Date: Mon, 25 Jan 2010 21:26:00 GMT
Content-Type: text/html
Content-Length: 173
Connection: close
Как я понял по исходникам, Апача принимает соединение, Nginx его также
устанавливает успешно, но при чтении Nginx ом хидера, считывается нуль
байт и на после этого клиент получает 502. Интересует возможность
настройки Nginx (либо его пропатчивания) чтобы он делал вторую попытку
коннекта, если первый раз получил пустой хидер.
--
С уважением, Одинцов Павел
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|