mod_deflate-ს ანალოგი nginx-ზე ანუ ვებსერვერის ფაილების gzip კომპრესია

ამ თემაში განვიხილავ nginx-ის ვებ სერვერისთვის apache-ს მოდულის mod_deflate-ის ფუნქციური ანალოგის კონფიგურირებას.  Apache-ს შემთხვევა ჩვენ უკვე განვიხილეთ გასულ პოსტში.
nginx-ის  კონფიგურაცის ფაილი მოიპოვება შემდეგ მისამართზე /etc/nginx/nginx.conf.

კომპრესიის გააქტიურება
[cc lang=”apache”]
gzip on;
[/cc]
მნიშვნელობაში იწერება on (ჩართული) ან Off (გამორთული).

ფაილების კომპრესიის დონე –
[cc lang=”apache”]
gzip_comp_level 5;
[/cc]
ფაილების კომპრესიის დონე შესაძლოა იყოს 1-დან 9-მდე, სადაც 1 არის ყველაზე მცირე შეკუმშვის მაგრამ სწრაფი და 9 ყველაზე მაღალი შეკუმშვის მაგრამ პროცედურულად ნელი.

კომპრესიის გააქტიურება ჩამოთვლილი MIME ტიპის ფაილებისთვის შეგვიძლია შემდეგნაირად –
[cc lang=”apache”]
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
[/cc]

მიუხედავად ყველაფრისა შესაძლოა დაგვჭირდეს ფაილების კომპრესირების გათიშვა არათავსებადი ბროუზერებისათვის
[cc lang=”apache”]
gzip_disable “MSIE6″;
[/cc]
კონფიგურაციის ამ სეგმენტის საშუალებით შეგვიძლია გამოვრთოთ ფაილების კომპრესაცია არათავსებადი ბროუზერებისთვის. სასიამოვნოა ის ფაქტი რომ შეგვიძლია გამოვიყენოთ regular expression-ები, მაგალითად
[cc lang=”apache”]
gzip_disable “MSIE [1-6].(?!.*SV1)”;
[/cc]

საბოლოოდ ამ ყველაფერმა ასეთი ერთიანი სახე მიიღო –
[cc lang=”apache”]
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable “MSIE [1-6].(?!.*SV1)”;
[/cc]

კონფიგურაციის  შემდეგ საჭიროა ვებ სერვერის გადატვირთვა
[cc]
#/etc/init.d/nginx reload
ან
#/etc/init.d/ngnix restart
ან
service nginx restart
[/cc]

კომპრესიის რეალური შედეგი შეგიძლიათ იხილოთ სურათზე –

აქ სურათზე მოყვანილ ციფრებს კიდევ უფრო დეტალურად ახსნა არ სჭირდება რადგან აშკარად ჩანს ფაილების კომპრესიის შედეგი, რომელიც  დაახლოებით  70-%-ს უტოლდება.

წარმატებულ კომპრესაციას გისურვებთ  nginx-ომანებო 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *