Nginx и миниатюры в 2017 году На рассмотрении

4

Всем привет!

Поставил вот этот конфиг, немного изменив под unixsocket. Вот собственно то что вышло: https://pastebin.com/s7RXBW6c


Получаю вот что:



На notice не смотрите, это косяк темы, основная проблема в картинке: в html путь к картинке такой:

/wa-data/public/shop/products/61/31/3161/images/2604/2604.750.jpg

А в папке файл вот такой:

/wa-data/public/shop/products/61/31/3161/images/2604/2604.750x0.jpg

Обратите внимание на x0.


Так же есть проблема с @2x миниатюрами:

jquery.retina.min.js?v1.7.4:4 HEAD http://shopscript.local/wa-data/public/shop/products/61/31/3161/images/2604/2604.750@2x.jpg 404 (Not Found)
2017/06/22 09:33:08 [error] 2942#2942: *89 open() "/var/www/html/shopscript.local/public/wa-data/public/shop/products/61/31/3161/images/2604/2604.750@2x.jpg" failed (2: No such file or directory), client: 192.168.33.1, server: shopscript.local, request: "HEAD /wa-data/public/shop/products/61/31/3161/images/2604/2604.750@2x.jpg HTTP/1.1", host: "shopscript.local", referrer: "http://shopscript.local/shop/air-jordan-air-jordan-4-retro-carhartt-x-eminem/"

В настройках темы указано генерировать миниатюры, но в папке @2x миниатюр нету.


Так вот, может как то всем сообществом выродим рабочий производительный конфиг под nginx + PHP7?

9 комментариев

  • +1
    ruslan1 ruslan1 6 февраля 2019 13:20 #

    Такая же проблема. Перенес сайт на vds сервер. Все работает. Но после того как сделал генерацию эскизов заново - все эскизы пропали. Связка Nginx+php-fpm  php7.3

    • +1
      Михаил Ушенин Михаил Ушенин 6 февраля 2019 18:16 #

      Возможно, вы удалили оригиналы изображений из директории wa-data/protected/shop/products/. Если их нет, то формировать эскизы неоткуда.

      • +1
        ruslan1 ruslan1 7 февраля 2019 07:08 #

         Нет, я их не удалял. Они на месте, только заново создал эскизы.

      • +2
        Quasar Quasar 6 февраля 2019 20:13 #

        Если у вас Ubuntu 16.04 или выше, и Nginx установлен из репозитория, то в файле /etc/nginx/snippets/fastcgi-php.conf найдите и закомментируйте строку try_files $fastcgi_script_name =404;

        • +1
          ruslan1 ruslan1 7 февраля 2019 07:44 #

          у меня centos7, не нашел такой папки и файла

          • +1
            Quasar Quasar 7 февраля 2019 14:02 #

            Включайте debug режим в nginx, и смотрите логи. Там можно понять как идет запрос, под какие локейшены попадает, и где проблема. 

          • +1
            ruslan1 ruslan1 9 февраля 2019 15:18 #

            Что только не пробовал в настройках. Если вручную убрать из названий миниатюр 0x или x0, то они показываются нормально. например был файл 3754.200x0.png, переименовал в 3754.200.png и миниатюры отображаются

          • +1
            enso_studio@mail.ru enso_studio@mail.ru 10 февраля 2019 13:38 #
            location ~* ^/wa-data/public/shop/products/[0-9x\.]+/ { 

          • +1
            ruslan1 ruslan1 12 февраля 2019 12:23 #

            В общем пересобрал весь конфиг, в итоге оставил стандартный со своими правками, под меня. И все нормально теперь работает.

            Конфиг от Webasyst у меня не работал, пока я не добавил к локейшену index.php строку

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            В итоге получается примерно так:

            location /index.php {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            }

            так что, если у кого проблема была как у меня, попробуйте этот вариант.

            Я думаю нужно добавить эту строку в официальные настройки для nginx+fastcgi

            Моя конфигурация nginx 1.15.8+php-fpm php7.3.2

            Добавление новых комментариев к этой теме отключено.