Welcome! Log In Create A New Profile

Advanced

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

January 24, 2014 02:12AM
Имеются 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.
Не подскажет ли кто куда мне копать?
Subject Author Posted

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

Miklucho January 24, 2014 02:12AM

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

Pavel V. January 24, 2014 03:10AM

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

Anton Bessonov January 26, 2014 10:04AM

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

Miklucho January 27, 2014 03:09AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 185
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready