mod_deflate-ს ანალოგი nginx-ზე ანუ ვებსერვერის ფაილების gzip კომპრესია
ამ თემაში განვიხილავ nginx-ის ვებ სერვერისთვის apache-ს მოდულის mod_deflate-ის ფუნქციური ანალოგის კონფიგურირებას. Apache-ს შემთხვევა ჩვენ უკვე განვიხილეთ გასულ პოსტში.
nginx-ის კონფიგურაცის ფაილი მოიპოვება შემდეგ მისამართზე /etc/nginx/nginx.conf.
კომპრესიის გააქტიურება
1 | gzip on; |
მნიშვნელობაში იწერება on (ჩართული) ან Off (გამორთული).
ფაილების კომპრესიის დონე –
1 | gzip_comp_level 5; |
ფაილების კომპრესიის დონე შესაძლოა იყოს 1-დან 9-მდე, სადაც 1 არის ყველაზე მცირე შეკუმშვის მაგრამ სწრაფი და 9 ყველაზე მაღალი შეკუმშვის მაგრამ პროცედურულად ნელი.
კომპრესიის გააქტიურება ჩამოთვლილი MIME ტიპის ფაილებისთვის შეგვიძლია შემდეგნაირად –
1 | gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; |
მიუხედავად ყველაფრისა შესაძლოა დაგვჭირდეს ფაილების კომპრესირების გათიშვა არათავსებადი ბროუზერებისათვის
1 | gzip_disable "MSIE6"; |
კონფიგურაციის ამ სეგმენტის საშუალებით შეგვიძლია გამოვრთოთ ფაილების კომპრესაცია არათავსებადი ბროუზერებისთვის. სასიამოვნოა ის ფაქტი რომ შეგვიძლია გამოვიყენოთ regular expression-ები, მაგალითად
1 | gzip_disable "MSIE [1-6].(?!.*SV1)"; |
საბოლოოდ ამ ყველაფერმა ასეთი ერთიანი სახე მიიღო –
1 2 3 4 | 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)"; |
კონფიგურაციის შემდეგ საჭიროა ვებ სერვერის გადატვირთვა
1 2 3 4 5 | #/etc/init.d/nginx reload ან #/etc/init.d/ngnix restart ან service nginx restart |
კომპრესიის რეალური შედეგი შეგიძლიათ იხილოთ სურათზე –
აქ სურათზე მოყვანილ ციფრებს კიდევ უფრო დეტალურად ახსნა არ სჭირდება რადგან აშკარად ჩანს ფაილების კომპრესიის შედეგი, რომელიც დაახლოებით 70-%-ს უტოლდება.
წარმატებულ კომპრესაციას გისურვებთ nginx-ომანებო 🙂