0VPS Tweaks Web-Performance zu verbessern

Während ich nicht viele neue Artikel geschrieben haben, vor kurzem habe ich viel Zeit die Aktualisierung und Überarbeitung der hinter den Kulissen Seite der Dinge ausgegeben, nämlich verschiedene Sicherheits (TLS) Einstellungen auf meinem VPS dass beherbergt mehrere Websites, einschließlich dieser. Eine andere Sache, die ich auch gearbeitet haben vor kurzem zu verbessern, ist zu meiner Verwendung von gzip zu verbessern, und ein neues Format namens Brötli

Kurz, gzip (und Brötli) can be used to com­press resources before they are sent to the browser, Dies reduziert die Menge der Daten gesendet, and hence should mean a site loads faster. The down­side is that com­press­ing resources takes time, which could out­weigh the gains from the smal­ler sizes. The ideal solu­tion is to have resources com­pressed in advance, rather than com­pressed by the http serv­er in real­time. Most of my web­sites use word­press which con­tains lots of files in plu­gins, Themen usw., so going through all of these and manu­ally com­press­ing them everytime there is an update would be imprac­tic­al. The answer is to use a script which mon­it­ors the sys­tem for file changes, and cre­ates com­pressed files as needed. Below is the script I have recently writ­ten to do exactly this.

#!/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|Reißverschluss|gz|pdf|php|swf|ttf|EOT|woff|cst|jst|br|cts)$' |
while read file
do
if [[ $file = ~ \.(css)$ ]];
then
fname="${Datei%.*}"
wenn [ -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="${Datei%.*}"
wenn [ -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 < "$Datei")
gzfs = $(wc -c <"$file.gz")
BRFs = $(wc -c <"$file.br")

wenn [ "$origfs" -lt "$gzfs" ];
then
rm $file.gz -f
fi
if [ "$origfs" -lt "$BRFs" ];
then
rm $file.br -f
fi

done

Hinterlasse eine Antwort