Оптимизация изображений на веб сервере
Если вы или ваши пользователи загружают изображения на ваш сайт, то рано или поздно они начнут занимать неприлично много места.
В данной статье я расскажу как оптимизировать все jpg и png изображения на вашем веб сервере.
В оптимизации изображений нам помогут следующие утилиты — jpegoptim и optipng.
Установим их, в качестве примера я буду использовать Ubuntu server
1 |
apt-get update |
1 |
apt-get install jpegoptim optipng |
Рассмотрим как можно использовать данные утилиты.
Для оптимизации JPG достаточно выполнить команду:
1 |
jpegoptim --size=100k YourPIC.jpeg --overwrite |
На мой взгляд наиболее оптимально использовать параметр size=250k , тогда команда будет выглядеть так:
1 |
jpegoptim --size=250k YourPIC.jpeg --overwrite |
Теперь рассмотрим оптимизацию PNG.
Выполним команду:
1 |
optipng -o5 YourPIC.png |
Если вы хотите сжать изображение еще сильнее, то используйте параметр -o7 , команда будет выглядеть так:
1 |
optipng -o7 YourPIC.png |
Обратите внимание , что при использовании параметра -o7 у вас увеличится утилизация CPU на сервере.
Теперь для автоматизации всего этого добра создадим такой скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#!/bin/bash picdir='/hosting/website/upload/images' # Optimize JPG jpgs=$(find $picdir -iname *.jpg ) for jpg in $jpgs do echo $jpg jpegoptim --size=250k $jpg chown www-data $jpg done # Optimize JPEG jpegs=$(find $picdir -iname *.jpeg ) for jpeg in $jpegs do echo $jpeg jpegoptim --size=250k $jpeg chown www-data $jpeg done # Optimize PNG pngs=$(find $picdir -iname *.png ) for png in $pngs do echo $png optipng -o7 $png chown www-data $png done |
Сохраните себе этот скрипт , в переменной picdir вместо /hosting/website/upload/images укажите путь к каталогу с изображениями на вашем сайте.
Не забудьте сделать скрипт исполняемым , командой chmod +x ./your_script.sh
Теперь можно добавить его в крон
1 |
crontab -e |
1 |
0 1 * * * /path_to_script/your_script.sh |
Обратите внимание что при запуске этого скрипта у вас увеличится утилизация CPU , запускайте скрипт в то время, когда у вас мало посетителей на сайте, перед запуском обязательно протестируйте оптимизацию изображений на тестовом стенде, возможно для вас параметры -o7 и —size=250k не оптимальные.
Добавить комментарий