Показаны сообщения с ярлыком nginx. Показать все сообщения
Показаны сообщения с ярлыком nginx. Показать все сообщения

22 сент. 2011 г.

факир был пьян... статус 200 вместо 404 ...

Цель: Пропуская через сокет nginx'a, а в качестве такого выступает php-fpm, php-сценарий, не зависимо от того, что в сценарии есть:
header("HTTP/1.0 404 Not Found");
возвращается ответ с статусом 200 вместо 404, хотя статусов 301 и 302 это не касается ...
кто же режет 404 СТАТУС?! nginx? php-fpm? or php?

#cat /1.php
<?php
header("HTTP/1.0 404 Not Found");
?> 

#curl -i test.local/1.php
HTTP/1.1 200 OK
Server: nginx/1.0.6
Date: Thu, 22 Sep 2011 10:01:13 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
X-Powered-By: PHP/5.3.6

20 сент. 2011 г.

Drupal 7 + nginx = 504 gateway time-out

Цель: Drupal 7 при обновлении локализации модулей падает в 504 страницу, в логах же что то типа вот этого:

*1790 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.128.94, server: flowers64.loc, request: "POST /batch?id=12&op=do HTTP/1.1", upstream: "fastcgi://unix:/var/run/www.socket:", host: "flowers64.loc", referrer: "http://flowers64.loc/batch?op=start&id=12"
Дано: Drupal 7,  nginx/0.7.67, php-fpm 5.3.8, mysql (14.14 Distrib 5.1.58)

Решение:
Оказалось, Drupal 7, вражина эдакая при установки с нуля и при наличии такой возможности использует InnoDB для своих таблиц в БД. Тут та и был зарыт подводный камень для относительно стареньких машинок. Данные InnoDB хранятся в больших совместно используемых файлах, и при интенсивных вставках в ваши таблицах, на относительно слабых машинках жутко будет тормозить ...