আমি কীভাবে এনজিআইএনএক্স পেজস্পাইড মডিউল সংস্থানগুলিতে জিজিপ সংক্ষেপণ সক্ষম করব?


13

আমি একটি নির্দিষ্ট ওয়েবসাইটকে অনুকূলকরণের দিকে খুব বেশি মনোযোগ দিচ্ছি যাতে এটি গুগল পেজস্পিড ইনসাইটস সরঞ্জামে (মোবাইল এবং ডেস্কটপ উভয়ের জন্য) 100 স্কোর করে। বেশিরভাগ আইটেম ত্রুটিহীনভাবে কাজ করছে, তবে আমি ওয়েবসাইটটির জন্য "সংক্ষেপণ সক্ষম করুন" সতর্কতা পেতে থাকি।

এটি উদ্বেগজনক, কারণ আমার সার্ভারে জিজিপ সক্ষম করা আছে এবং কেবলমাত্র সংস্থানগুলি সঙ্কুচিতভাবে পরিবেশন করা হচ্ছে এটি এনজিআইএনএক্স পৃষ্ঠাস্পিড মডিউল থেকে আসছে। আমি গুগলের ওয়েবসাইটে কনফিগারেশন পৃষ্ঠাগুলি পেরিয়েছি, তবে ইতিমধ্যে উপস্থিত সাধারণ এনজিআইএনএক্স কনফিগারেশন ব্যতীত কম্প্রেশনকে কীভাবে সক্ষম করা যায় তা বর্ণনা করার মতো কিছুই নেই।

আমার প্রশ্নটি হ'ল: আমি কীভাবে জিজিপ সংক্ষেপন সক্ষম করব যাতে এটি পৃষ্ঠা স্পিড সংস্থার জন্য কাজ করে?

আমার সার্ভার সেটআপ:

উবুন্টু 12.0.4.3 এলটিএস এনজিআইএনএক্স - পেজস্পিড মডিউল 1.6.29.5 বিটা সহ কাস্টম 1.5.4

এনজিআইএনএক্স সার্ভার কনফিগারেশন:

user  www-data;
#set worker processes to cpu processes
worker_processes  4;

error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
        worker_connections  1024;
}


http {
        client_max_body_size 200m;
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        access_log /var/log/nginx/access.log;
        sendfile on;
        keepalive_timeout 3;
        types_hash_max_size 2048;
        gzip  on;
        gzip_disable msie6;
        gzip_static on;
        gzip_types text/plain text/css application/x-javascript text/xml application/xml+rss text/javascript;
        gzip_vary on;
        fastcgi_read_timeout 2m;

        include global/caching.conf;
        include /etc/nginx/enabled-sites/*;
        upstream php {
                server 127.0.0.1:9000;
        }
        #fastcgi caching header
        add_header mcapp-fastcgi-cache $upstream_cache_status;
}

ওয়েবসাইট কনফিগারেশন:

server {
        server_name www.examplesite.com;
        rewrite ^ $scheme://examplesite.com$request_uri permanent;
}

server {
        #pagespeed directives
        pagespeed On;
        pagespeed FileCachePath /var/cache/nginx-pagespeed;
        location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
                add_header "" "";
        }
        location ~ "^/ngx_pagespeed_static/" { }
        location ~ "^/ngx_pagespeed_beacon$" { }
        #pagespeed directives end

        server_name examplesite.com;
        root /path/to/examplesite;

        # wordpress config
        include global/restrictions.conf;
        include global/wordpress.conf;
}

সম্পাদনা সম্পাদনা করুন আরও বিস্তৃত করার জন্য, সুনির্দিষ্ট সম্পদগুলি যে সংকোচনের বলে মনে হয় না সেগুলি হ'ল জাভাস্ক্রিপ্ট সম্পদ। উদাহরণ হিসাবে:

Enable compression for the following resources to reduce their transfer size by 355.5KiB (69% reduction).
    Compressing http://examplesite.com/wp-includes/js/jquery/jquery.js,qver=1.10.2.pagespeed.jm.iCH2ukpEYb.js could save 58.8KiB (64% reduction).
    Compressing http://examplesite.com/wp-content/themes/Avada/framework/plugins/revslider/rs-plugin/js/jquery.themepunch.revolution.min.js?ver=3.6.1 could save 43.9KiB (80% reduction).

আপনি কি রেডবটের মতো অন্যান্য সরঞ্জাম দিয়ে পরীক্ষা করেছেন? আমি পেজস্পিডটি নির্ভরযোগ্য হিসাবে খুঁজে পাইনি, জিপিপ স্থাপন করার সময় বা যখন expires 24hrsএকটি কারণে আমি সর্বদা "বিপিইপি, আপনি হোল্ডিং আইটি ভুল" পেয়েছি। একই ওয়াইস্লো
সেই লোকটি সেখান থেকে

আমি রেডবোট চেক করেছি, এবং এটি gzip (যেমন আসল এইচটিএমএল এবং সিএসএস ফাইলগুলির মতো) এর বেশিরভাগ সম্পদ সংকুচিত করছে। তবে পেজস্পিড থেকে আসা বেশিরভাগ জাভাস্ক্রিপ্ট সম্পদ সংকুচিত হচ্ছে না। আমার কনফিগারেশনটি অ্যাপ্লিকেশন / এক্স-জাভাস্ক্রিপ্ট এবং পাঠ্য / জাভাস্ক্রিপ্ট মাইম-প্রকারগুলি সংকুচিত করতে সেট করেছে এবং আমি যাচাই করেছি যে এটি অন্যান্য ওয়েবসাইটগুলিতে জাভাস্ক্রিপ্টের সম্পদ রয়েছে works যদিও কিছু কারণে, এটি কেবল পেজস্পিড সরবরাহকৃত সম্পদের জন্য কাজ করছে বলে মনে হয় না।
স্ক্রিভলেস

উত্তর:


16

আরও অনেক বেশি চুল টানা, দাঁত ঘষতে, এবং স্পিকার-পাঞ্চিং, (এবং গুগলিং) পরে, আমি অ্যাপ্লিকেশন / এক্স-জাভাস্ক্রিপ্ট থেকে জাভাস্ক্রিপ্ট (.js) মাইম-টাইপ পরিবর্তন করতে একটি এনজিআইএনএক্স সমর্থন ফোরামে একটি ত্রুটি অনুরোধটি পেয়েছি came অ্যাপ্লিকেশন / জাভাস্ক্রিপ্ট। Http://trac.nginx.org/nginx/ticket/306 দেখুন

আপনি যেমন আমার প্রশ্নে nginx.conf দ্বারা দেখতে পাচ্ছেন, আমার ছিল:

gzip_types text/plain text/css application/x-javascript text/xml application/xml+rss text/javascript;

এটি মূলত আমার জাভাস্ক্রিপ্ট ফাইলগুলিকে gzip_tyype দ্বারা উপেক্ষা করার কারণ ছিল, কারণ আর কোনও অ্যাপ্লিকেশন / এক্স-জাভাস্ক্রিপ্ট মাইম-টাইপ নেই (যদি না আপনি মাইম-টাইপস.কম এ একটি কাস্টম তৈরি করেন বা আপনার এনজিআইএনএক্সের সত্যিকারের পুরানো সংস্করণ না থাকে) ।

আমি এই লাইনে এই লাইনে পরিবর্তন করেছি:

gzip_types text/plain text/css application/javascript text/xml application/xml+rss;

একটি এনজিআইএনএক্স-পুনরায় লোডের পরে, আমার জাভাস্ক্রিপ্ট ফাইলগুলি ঠিক ঠিক সংকুচিত! সুতরাং, দেখা যাচ্ছে এটির পেজস্পিড মডিউলটির কোনও সম্পর্ক ছিল না এবং তার পরিবর্তে আমার কনফিগারেশনটিতে সংকোচন করার জন্য সঠিক মাইম-টাইপ সনাক্ত না করায় একটি সমস্যা ছিল।


1
কেবল একটি নোট - কোনও কারণে আমাকে উভয়ই রাখতে হয়েছিল application/x-javascriptএবং application/javascriptযেহেতু আমার অনুরোধের সময় আমি উভয় মাইম টাইপ পেয়ে যাচ্ছিলাম (ভাবছি আমার যদি ন্যায়বিচারে স্যুইচ করা উচিত কিনা application/javascript
নিকোলা ইভানভ নিকোলভ

3

রিলিজ ১.৯.৩২.১-বিটা অনুসারে, এনজিএক্স_পেজস্পিড জিজিপ নিজেই সক্ষম এবং কনফিগার করবে যখন স্পষ্টভাবে কোন জিজিপ কনফিগারেশন এনজিনেক্সে উপস্থিত না থাকে (এবং জিজিপ সংক্ষেপণ মডিউলটি সংকলিত থাকে)।

Https://developers.google.com/speed/pagespeed/module/release_notes#release_1.9.32.1- বিটা দেখুন


2

অনুযায়ী বোঝায় যা RFC 4329 , আপনার ওয়েবসার্ভার ব্যবহার করা উচিত application/javascriptএবং application/x-javascript

প্রথমে আপনি পরীক্ষা করা উচিত যে আপনার /etc/nginx/nginx.confফাইল আছে (অন্তত) application/javascriptপাশে gzip_types:

যেমন

gzip_types text/plain text/css application/javascript text/xml application/xml+rss;

তারপরে, আপনার এমআইএম টাইপ ফাইলটি খুলুন /etc/nginx/mime.typesএবং নিশ্চিত করুন যে আপনি যদি এটি দেখতে পান:

application/x-javascript                  js;

প্রতি

application/javascript                  js;

অবশেষে, আপনার কনফিগারেশনটি পুনরায় লোড করুন:

service nginx reload

এটাই!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.