DIY Главная Медиа Logo

Конечная сайт для проектирования и создания вашей установке домашнего кинотеатра и Привет-Fi.

0VPS Твики для улучшения производительности веб

В то время как я не написал много новых статей в последнее время я потратил много времени на обновлении и пересмотр закулисной стороны вещей, а именно различная безопасность (TLS) настройки на мой VPS на котором размещены несколько сайтов, включая этот. Еще одна вещь, которую я также работал, чтобы улучшить в последнее время, чтобы улучшить мое использование Gzip, и новый формат, называемый brotli

кратко, GZIP (и brotli) может быть использован для сжатия перед отправкой в ​​браузер, что уменьшает объем данных, передаваемых, и, следовательно, должно означать сайт нагрузки быстрее. Недостатком является то, что сжатие ресурсов занимает много времени, которые могут перевесить выгоды от меньших размеров. Идеальным решением является ресурсы сжатого заранее, а не сжимается сервер HTTP в режиме реального времени. Большинство моих сайтов использует WordPress, который содержит большое количество файлов в плагинах, темы и т.д., так происходит через все это и вручную сжимая их каждый раз, когда есть обновление было бы непрактично. Ответ заключается в использовании скрипта, который отслеживает систему для изменения файлов, и создает сжатые файлы по мере необходимости. Ниже приведен сценарий, я недавно написал, чтобы сделать именно это.

#!/bin/bash                               

inotifywait -m -q -e CREATE -e MODIFY -e MOVED_TO -r "/вар / WWW /" --формат "%ж% F" --excludei «.(jpg|PNG|рисунок|ICO|журнал|SQL|застежка-молния|GZ|PDF|PHP|швейцарские франки|TTF|СРВ|Уофф|сСт|Jst|бром|каратов)$' |
while read file
do
if [[ $файл = ~ \.(CSS)$ ]];
then
fname="${файл%.*}"
если [ -е "$Fname".min.css ]
then
rm -f $file.gz
rm -f $file.br
zopfli --gzip $file
bro --quality 11 --input $file --output $file.br
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
else
rm -f $file.gz
rm -f $file.br
cat $file | cleancss > $fname.cst
cat $file | cleancss | братан --quality 11 --output $file.br
zopfli --gzip $fname.cst -c > $fname.css.gz
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
rm -f $fname.cst
fi
fi

if [[ $файл = ~ \.(JS)$ ]];
then
fname="${файл%.*}"
если [ -е "$Fname".min.css ]
then
rm -f $file.gz
rm -f $file.br
zopfli --gzip $file
bro --quality 11 --input $file --output $file.br
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
else
rm -f $file.gz
rm -f $file.br
uglifyjs $fname.js > $fname.jst
zopfli --gzip $fname.jst -c > $fname.js.gz
bro --quality 11 --input $fname.jst --output $file.br
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
rm -f $fname.jst
fi
fi

origfs=$(туалет -c < "$файл")
gzfs = $(туалет -c <"$file.gz")
BRFS = $(туалет -c <"$file.br")

если [ "$origfs" -л "$gzfs" ];
then
rm $file.gz -f
fi
if [ "$origfs" -л "$BRFS" ];
then
rm $file.br -f
fi

done

оставьте ответ