فشرده سازی وب سایت با Brotli

سلام

امروز با یک ماژول فشرده سازی قوی فایل های وب سایت آشنا شدم و تست گرفتم دیدم که خیلی بهینه هست ، حتی نسبت به gzip . این ماژول Brotli رو گوگل برامون نوشته و به گفته خودش ۱۴٪ فشرده سازی رو بیشتر انجام میده نسبت به gzip.

فقط یک نکته مهم ، باید وب سایتمون پروتوکل https رو پشتیبانی کنه پس حتما ssl رو نصب کنید و بعد بریم برای شروع نصب ماژول فشرده سازی Brotli.

نصب Brotli بر روی apache

بسیار عالی ، فرض میکنیم که وب سایت با https باز میشه و ما یک centos داریم که روش apache هم نصبه.

در قدم اول باید cmake رو نصب کنیم البته اگر نصب نیست !.

yum install cmake -y

سپس میریم برای دانلود پکیج Brotli و پس از دانلود اون روextract میکنیم.

wget https://github.com/google/brotli/archive/master.zip
unzip master.zip
cd brotli-master

حالا باید نصبش کنیم

mkdir out && cd out
../configure-cmake
make
make test
make install

سپس نصب با موفقیت تموم میشه و میتونیم ورژن نصب شده رو چک کنیم.

brotli --version

خب تا اینجا خیلی خوب پیش رفتیم ، الان نیاز داریم httpd-dev رو هم نصب کنیم

yum install httpd-devel

در ادامه باید apache-mod-brotli رو باید از github دانلود کنیم.

git clone --depth=1 --recursive https://github.com/kjdev/apache-mod-brotli.git
 cd apache-mod-brotli
 ./autogen.sh
 ./configure
 make

بعد از انجام این مرحله شما یکسری فایل با پسوند .so  در داخل فوشه libs خواهید داشت و باید این فایل ها رو به پوشه اصلی ماژول های apache انتقال بدیم.

cp .libs/mod_brotli.so /usr/lib64/httpd/modules/mod_brotli.so -fv

خب نصب با موفقیت انجام شد . الان نیاز داریم به تنظیمات ماژول Brotli رو انجام بدیم با توجه به نیازمون که بهینه ترین حالت رو داشته باشیم.

vim /etc/httpd/conf.d/brotli.conf

و متن زیر رو در داخل این فایل قرار میدهیم.

<IfModule brotli_module>
 BrotliCompressionLevel 10
 BrotliWindowSize 22
 AddOutputFilterByType BROTLI text/html text/plain text/css text/xml
 AddOutputFilterByType BROTLI text/css
 AddOutputFilterByType BROTLI application/x-javascript application/javascript
 AddOutputFilterByType BROTLI application/rss+xml
 AddOutputFilterByType BROTLI application/xml
 AddOutputFilterByType BROTLI application/json
 </IfModule>

سپس باید سرویس httpd (apache) رو ریستارت میکنیم.

systemctl start httpd.service

و تمام 😀 . حالا میتونیم اطمینان پیدا کنیم که ماژول Brotli درست نصب شده . با استفاده از این سایت nixcp.com/tools/brotli-test/

میشه چک کرد که درست نصب انجام شده یا خیر.

یک تصویر هم پیدا کردم به مشخص میکنه Brotli نسبت به gzip بهینه تر هست.

 

سالم و سلامت باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *