ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Не отображаются картинки после ресайзинга


  • To: nginx-ru@xxxxxxxxx
  • Subject: Не отображаются картинки после ресайзинга
  • From: "Miklucho" <nginx-forum@xxxxxxxx>
  • Date: Fri, 24 Jan 2014 02:12:49 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=xFoZ+Xhi02oP6RLDeOZmXj2wyXz6oxEbD2s4W5VexJo=; b=zOYYVxj2lkOQvvrlEhjPfmMFe2HU+BnvusGSi9cTkMlLKOgZPK5cjsJE9E9PZ5viKMtIAC8oo1qGxVJ9jWCuKHfs46ZP7fkVU3TZbFlfkP9owi5j4HLjtRinFlA4LNVQmgOVTxuUCT9x96l3bO1VmSW+8gVQ55/dHLg+rg5mGv4=;

Имеются nginx+apache+php на CentOS
Потребовалось сделать ресайз картинок на лету по ссылкам типа:
http://www.sitename.ru/thumb/350x250xin/images_path/image_name.jpg
Реализовал следующим образом

1. В nginx проверяем существование картинки, если не существует
перенаправляем на Апач.
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$  {
        root /home/www/sitename.ru/www/;
        try_files $uri @fallback;
}
location @fallback {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_connect_timeout 120;
        proxy_send_timeout    120;
        proxy_read_timeout    180;
}

2. На бекэнде в .htaccess свое перенаправление:
RewriteRule ^thumb/(.*) /thumb.php?req=$1

3. Скрипт thumb.php выполняет ресайз, сохраняет картинку для кеша и отдает
ее в браузер.

Схема работает, но есть такая проблема. На странице одновременно выводится
до 10 таких картинок, так вот при первом заходе на страницу отображается
только 1-2 изображения из десяти. Для остальных браузер рисует стандартную
иконку отсутствующей картинки. Причем если посмотреть на FTP - отресайзенные
картинки существуют! 
При обновлении страницы уже все картинки отображаются корректно.

Мне кажется, что проблема в том, что php сравнительно медленно ресайзит
изображения и из-за этого срабатывают какие-то таймауты, либо в apache, либо
в nginx.
Не подскажет ли кто куда мне копать?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,246772,246772#msg-246772

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.