Leon1010

Я в Соц.сетях:

Теги:

Ссылки

Оптимизация картинок на сервере

Задача:

Один раз оптимизировать все изображения на сайте, чтобы потом не тратить ресурсы сервера на их конвертацию «на лету».

Решение:

Будем использовать 3 библиотеки: ImageMagic, JPEGOptim, OptiPNG.

Первыми двумя обрабатываем файлы *.jpg

Устанавливаем необходимые библиотеки

  1. #yum install ImageMagick ImageMagick-devel
    Проверяем версию #convert -version
  2. #yum install jpegoptim
  3. #yum install optipng

Оптимизируем

Перемещаемся в нужный родительский каталог командой #cd.

Проверим размер текущего каталога до компрессии командой #du -h -s затем ей же посмотрим что получилось после.

Запускать все будем в цикле for, иначе выдаст ошибку, если у нас много файлов.

ImageMagic
#for file in *; do convert $file -quality 85 $file; done
Где:
* — любой файл. Иногда стоит попробовать использовать такие конструкции: */* или *.jpg
-quality 85 — Качество изображения на выходе.

JPEGOptim
#for f in *.jpg; do jpegoptim --strip-all --all-progressive -pt "$f"; done
Он вырежет все лишние мета зоговки из картинок и сделает их прогрессивными.
Далее запускаем его же но уже с *.jpeg вместо *.jpg
Возможные параметры:
–strip-all удаляет комментарии, Exif, IPTC, ICC, XMP
–all-progressive преобразует в прогрессивный jpeg
-p сохранит время создания такими же как у исходного файла
-t покажет итоговый результат оптимизации для нескольких изображений
-m85 устанавливает максимальное сжатие jpeg в 85. Этот параметр влияет на качество изображения!

OptiPNG
#find -type f -iname "*.png" -exec optipng -strip all -o4 {} \;
Возможные параметры:
-strip all удалит всю “лишнюю” информацию из файла
-o4 указывает степень сжатия, от 1 до 7. По умолчанию 2.

Запись опубликована в рубрике Администрирование с метками .