В то время как я не написал много новых статей в последнее время я потратил много времени на обновлении и пересмотр закулисной стороны вещей, а именно различная безопасность (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
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”