В то время как я не написал много новых статей в последнее время я потратил много времени на обновлении и пересмотр закулисной стороны вещей, а именно различная безопасность (TLS) настройки на мой VPS на котором размещены несколько сайтов, включая этот. Еще одна вещь, которую я также работал, чтобы улучшить в последнее время, чтобы улучшить мое использование Gzip, и новый формат, называемый brotli
кратко, GZIP (и brotli) может быть использован для сжатия перед отправкой в браузер, что уменьшает объем данных, передаваемых, и, следовательно, должно означать сайт нагрузки быстрее. Недостатком является то, что сжатие ресурсов занимает много времени, которые могут перевесить выгоды от меньших размеров. Идеальным решением является ресурсы сжатого заранее, а не сжимается сервер HTTP в режиме реального времени. Большинство моих сайтов использует WordPress, который содержит большое количество файлов в плагинах, темы и т.д., так происходит через все это и вручную сжимая их каждый раз, когда есть обновление было бы непрактично. Ответ заключается в использовании скрипта, который отслеживает систему для изменения файлов, и создает сжатые файлы по мере необходимости. Ниже приведен сценарий, я недавно написал, чтобы сделать именно это.
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #!/bin/bash inotifywait -m -q -e CREATE -e MODIFY -e MOVED_TO -r “/var/www/” –format “%w%f” –excludei ‘\.(jpg|png|gif|ico|log|sql|zip|gz|pdf|php|swf|ttf|eot|woff|cst|jst|br|cts)$’ | while read file do if [[ $file =~ \.(css)$ ]]; then fname=”${file%.*}” if [ -f “$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 | bro –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 [[ $file =~ \.(js)$ ]]; then fname=”${file%.*}” if [ -f “$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=$(wc -c < “$file”) gzfs=$(wc -c <”$file.gz”) brfs=$(wc -c <”$file.br”) if [ “$origfs” -lt “$gzfs” ]; then rm $file.gz -f fi if [ “$origfs” -lt “$brfs” ]; then rm $file.br -f fi done |
Что вы думаете? Напишите нам комментарий ниже! Если вы хотите подписаться, воспользуйтесь ссылкой для подписки в меню вверху справа.. Вы также можете поделиться этим с друзьями, используя социальные ссылки ниже. Ваше здоровье.
оставьте ответ