NGINX இல் உள்ளடக்கத்தை எவ்வாறு சேமிப்பது


என்ஜிஎன்எக்ஸ் ஒரு ஒருங்கிணைந்த திறந்த-மூல, உயர் செயல்திறன் கொண்ட வலை சேவையகம், இது உள்ளடக்கம் மற்றும் பயன்பாட்டு விநியோகத்தை விரைவுபடுத்துகிறது, பாதுகாப்பை மேம்படுத்துகிறது மற்றும் அளவிடக்கூடிய தன்மையை மேம்படுத்துகிறது. Nginx இன் மிகவும் பொதுவான பயன்பாட்டு நிகழ்வுகளில் ஒன்று உள்ளடக்க கேச்சிங் ஆகும், இது ஒரு வலைத்தளத்தின் செயல்திறனை அதிகரிக்க மிகவும் பயனுள்ள வழியாகும்.

அப்ஸ்ட்ரீம் சேவையகங்களிலிருந்து பதில்களைத் தேடுவதற்கும், உள்ளடக்க விநியோக நெட்வொர்க்குகள் (சி.டி.என்) க்கான விளிம்பு சேவையகங்களை உருவாக்குவதற்கும் உள்ளமைவு மூலம் உள்ளூர் மூல சேவையகங்களை விரைவுபடுத்த நீங்கள் என்ஜிஎன்எக்ஸ் பயன்படுத்தலாம். என்ஜிஎன்எக்ஸ் சில பெரிய சி.டி.என்.

தற்காலிக சேமிப்பாக கட்டமைக்கும்போது, என்ஜிஎன்எக்ஸ் பின்வருமாறு:

  • நிலையான மற்றும் மாறும் உள்ளடக்கத்தை தற்காலிகமாக சேமிக்கவும்.
  • மைக்ரோ கேச்சிங் மூலம் டைனமிக் உள்ளடக்க செயல்திறனை மேம்படுத்தவும்.
  • சிறந்த செயல்திறனுக்காக பின்னணியில் மறுமதிப்பீடு செய்யும் போது பழைய உள்ளடக்கத்தை வழங்கவும்.
  • கேச்-கட்டுப்பாட்டு தலைப்புகளை மேலெழுத அல்லது அமைக்கவும், மேலும் பல.

இந்த கட்டுரையில், உங்கள் வலை சேவையகங்களை முடிந்தவரை திறமையாக இயங்கச் செய்ய லினக்ஸில் உள்ளடக்க கேச்சிங்காக என்ஜிஎன்எக்ஸ் எவ்வாறு கட்டமைப்பது என்பதை நீங்கள் கற்றுக் கொள்வீர்கள்.

உங்கள் லினக்ஸ் சேவையகத்தில் NGINX நிறுவப்பட்டிருக்க வேண்டும், Nginx ஐ நிறுவ இந்த வழிகாட்டிகளைப் பின்பற்றாவிட்டால்:

  • CentOS 8 இல் Nginx ஐ எவ்வாறு நிறுவுவது
  • CentOS 7 இல் Nginx ஐ எவ்வாறு நிறுவுவது

Nginx இல் நிலையான உள்ளடக்கத்தை தற்காலிக சேமிக்கவும்

நிலையான உள்ளடக்கம் என்பது ஒரு வலைத்தளத்தின் உள்ளடக்கம், இது பக்கங்களில் ஒரே மாதிரியாக இருக்கும் (மாறாது). நிலையான உள்ளடக்கத்தின் எடுத்துக்காட்டுகளில் படங்கள், வீடியோக்கள், ஆவணங்கள் போன்ற கோப்புகள் அடங்கும்; CSS கோப்புகள் மற்றும் ஜாவாஸ்கிரிப்ட் கோப்புகள்.

உங்கள் வலைத்தளம் நிறைய நிலையான உள்ளடக்கத்தைப் பயன்படுத்தினால், விரைவான அணுகலுக்காக நிலையான உள்ளடக்கத்தின் நகல்களை உலாவி சேமித்து வைக்கும் கிளையன்ட் சைட் கேச்சிங்கை இயக்குவதன் மூலம் அதன் செயல்திறனை மேம்படுத்தலாம்.

பின்வரும் மாதிரி உள்ளமைவு ஒரு நல்ல பயணமாகும், www.example.com ஐ உங்கள் வலைத்தள பெயரின் URL உடன் மாற்றவும் மற்றும் பிற பாதை பெயர்களில் பொருத்தமானவற்றை மாற்றவும்.

server {
    # substitute your web server's URL for www.example.com
    server_name www.example.com;
    root /var/www/example.com/htdocs;
    index index.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        try_files $uri =404;
        include fastcgi_params;
        # substitute the socket, or address and port, of your WordPress server
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        #fastcgi_pass 127.0.0.1:9000;
 	}   

    location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg
                  |jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid
                  |midi|wav|bmp|rtf)$ {
        expires max;
        log_not_found off;
        access_log off;
    }
}

Nginx இல் டைனமிக் உள்ளடக்கத்தை தற்காலிக சேமிக்கவும்

உள்ளூர் கோப்பு முறைமையில் எங்காவது அமைந்துள்ள ஒரு நிலையான வட்டு அடிப்படையிலான தற்காலிக சேமிப்பை என்ஜிஎன்எக்ஸ் பயன்படுத்துகிறது. தற்காலிக சேமிப்பில் உள்ள உள்ளடக்கத்தை சேமிப்பதற்கான உள்ளூர் வட்டு கோப்பகத்தை உருவாக்குவதன் மூலம் தொடங்கவும்.
# mkdir -p/var/cache/nginx

அடுத்து, கேச் கோப்பகத்தில் பொருத்தமான உரிமையை அமைக்கவும். இது பின்வருமாறு NGINX பயனர் (nginx) மற்றும் குழு (nginx) க்கு சொந்தமானதாக இருக்க வேண்டும்.

# chown nginx:nginx /var/cache/nginx

கீழேயுள்ள பிரிவில் Nginx இல் டைனமிக் உள்ளடக்கத்தை எவ்வாறு இயக்குவது என்பதைப் பார்க்க இப்போது மேலும் தொடரவும்.

NGINX இல் FastCGI தற்காலிக சேமிப்பை இயக்குகிறது

FastCGI (அல்லது FCGI) என்பது NGINX போன்ற வலை சேவையகங்களுடன் PHP போன்ற ஊடாடும் பயன்பாடுகளை இடைமுகப்படுத்த பரவலாகப் பயன்படுத்தப்படும் நெறிமுறை. இது சிஜிஐ (காமன் கேட்வே இடைமுகம்) இன் நீட்டிப்பாகும்.

FCGI இன் முக்கிய நன்மை என்னவென்றால், இது ஒரு செயல்பாட்டில் பல CGI கோரிக்கைகளை நிர்வகிக்கிறது. இது இல்லாமல், வலை சேவையகம் ஒரு சேவைக்கான ஒவ்வொரு கிளையன்ட் கோரிக்கைக்கும் ஒரு புதிய செயல்முறையைத் திறக்க வேண்டும் (அது கட்டுப்படுத்தப்பட வேண்டும், ஒரு கோரிக்கையைச் செயல்படுத்த வேண்டும், மூடப்பட வேண்டும்).

LEMP ஸ்டேக் வரிசைப்படுத்தலில் PHP ஸ்கிரிப்ட்களை செயலாக்க, NGINX FPM (FastCGI செயல்முறை மேலாளர்) அல்லது PHP-FPM ஐப் பயன்படுத்துகிறது, இது ஒரு பிரபலமான மாற்று PHP FastCGI செயல்படுத்தல். PHP-FPM செயல்முறை இயங்கியதும், செயலாக்கத்திற்கான ப்ராக்ஸி கோரிக்கைகளுக்கு NGINX கட்டமைக்கப்படுகிறது. இதனால் PHP-FPM பின்தளத்தில் பயன்பாட்டு சேவையகத்திலிருந்து பதில்களைத் தேக்க NGINX ஐ கட்டமைக்க முடியும்.

NGINX இன் கீழ், NGINX உள்ளமைவு கட்டமைப்பிற்குள், உயர்மட்ட http {} சூழலில் fastcgi_cache_path எனப்படும் கட்டளையைப் பயன்படுத்தி FastCGI உள்ளடக்க கேச் அறிவிக்கப்படுகிறது. தற்காலிக சேமிப்பிற்கான ஒரு விசையை (கோரிக்கை அடையாளங்காட்டி) வரையறுக்கும் fastcgi_cache_key ஐ நீங்கள் சேர்க்கலாம்.

தவிர, அப்ஸ்ட்ரீம் கேச் நிலையைப் படிக்க, http {} சூழலுக்குள் add_header X-Cache-Status கட்டளையைச் சேர்க்கவும் - இது பிழைத்திருத்த நோக்கங்களுக்காக பயனுள்ளதாக இருக்கும்.

உங்கள் தளத்தின் சேவையக தடுப்பு உள்ளமைவு கோப்பு /etc/nginx/conf.d/testapp.conf அல்லது /etc/nginx/sites-available/testapp.conf (உபுண்டு மற்றும் அதன் வழித்தோன்றல்களின் கீழ்) அமைந்துள்ளது என்று வைத்துக் கொண்டு, எடிட்டிங் கோப்பைத் திறந்து சேர்க்கவும் கோப்பின் மேலே பின்வரும் வரிகள்.

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=CACHEZONE:10m; inactive=60m max_size=40m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
add_header X-Cache $upstream_cache_status;

fastcgi_cache_path உத்தரவு அளவுருக்களின் எண்ணிக்கையைக் குறிப்பிடுகிறது:

  • /var/cache/nginx - தற்காலிக சேமிப்புக்கான உள்ளூர் வட்டு கோப்பகத்திற்கான பாதை.
  • நிலைகள் - ஒரு தற்காலிக சேமிப்பின் படிநிலை நிலைகளை வரையறுக்கிறது, இது/var/cache/nginx இன் கீழ் இரண்டு-நிலை அடைவு வரிசைக்கு அமைக்கிறது.
  • key_zone (பெயர்: அளவு) - அனைத்து செயலில் உள்ள விசைகள் மற்றும் தரவு (மெட்டா) பற்றிய தகவல்கள் சேமிக்கப்படும் பகிரப்பட்ட நினைவக மண்டலத்தை உருவாக்க உதவுகிறது. நினைவகத்தில் விசைகளை சேமித்து வைப்பது சரிபார்ப்பு செயல்முறையை விரைவுபடுத்துகிறது, என்ஜிஎன்எக்ஸ் வட்டில் நிலையை சரிபார்க்காமல், அதன் மிஸ் அல்லது எச்ஐடி என்பதை தீர்மானிக்க எளிதாக்குகிறது.
  • செயலற்றது - குறிப்பிட்ட நேரத்தில் அணுகப்படாத தற்காலிக சேமிப்பு தரவு அவற்றின் புத்துணர்ச்சியைப் பொருட்படுத்தாமல் தற்காலிக சேமிப்பில் இருந்து நீக்கப்படும் நேரத்தைக் குறிப்பிடுகிறது. எங்கள் எடுத்துக்காட்டு உள்ளமைவில் 60 மீ மதிப்பு என்பது 60 க்குப் பிறகு அணுகப்படாத கோப்புகள் தற்காலிக சேமிப்பிலிருந்து அகற்றப்படும் என்பதாகும்.
  • max_size - தற்காலிக சேமிப்பின் அதிகபட்ச அளவைக் குறிப்பிடுகிறது. நீங்கள் இங்கு பயன்படுத்தக்கூடிய அதிக அளவுருக்கள் உள்ளன (மேலும் தகவலுக்கு என்ஜிஎன்எக்ஸ் ஆவணங்களைப் படிக்கவும்).

fastcgi_cache_key உத்தரவில் உள்ள மாறிகள் கீழே விவரிக்கப்பட்டுள்ளன.

கோரிக்கையின் விசையை (அடையாளங்காட்டி) கணக்கிடுவதில் என்ஜிஎன்எக்ஸ் அவற்றைப் பயன்படுத்துகிறது. முக்கியமாக, வாடிக்கையாளருக்கு தற்காலிக சேமிப்பு பதிலை அனுப்ப, கோரிக்கையானது தற்காலிக சேமிப்பின் பதிலைப் போலவே இருக்க வேண்டும்.

  • $திட்டம் - கோரிக்கை திட்டம், HTTP அல்லது HTTPS.
  • $request_method - கோரிக்கை முறை, வழக்கமாக\"GET" அல்லது\"POST".
  • $ஹோஸ்ட் - இது கோரிக்கை வரியிலிருந்து ஹோஸ்ட்பெயராகவோ அல்லது Host "ஹோஸ்ட்" கோரிக்கை தலைப்பு புலத்திலிருந்து ஹோஸ்ட்பெயராகவோ அல்லது முன்னுரிமையின் வரிசையில் ஒரு கோரிக்கையுடன் பொருந்தக்கூடிய சேவையக பெயராகவோ இருக்கலாம்.
  • $request_uri - முழு அசல் கோரிக்கை URI (வாதங்களுடன்) என்று பொருள்.

மேலும், add_header எக்ஸ்-கேச்-ஸ்டேட்டஸ் டைரெக்டிவ் $upstream_cache_status மாறி NGINX பதிலளிக்கும் ஒவ்வொரு கோரிக்கைக்கும் கணக்கிடப்படுகிறது, இது ஒரு MISS ஆக இருந்தாலும் (கேச்சில் பதில் கிடைக்கவில்லை, பயன்பாட்டு சேவையகத்திலிருந்து கிடைத்தது) அல்லது ஒரு HIT (தற்காலிக சேமிப்பிலிருந்து வழங்கப்படும் பதில்) அல்லது ஆதரிக்கப்படும் பிற மதிப்புகள்.

அடுத்து, PHP-FPM க்கு PHP கோரிக்கைகளை அனுப்பும் இருப்பிடம் கட்டளைக்குள், நீங்கள் மேலே வரையறுத்துள்ள தற்காலிக சேமிப்பை செயல்படுத்த fastcgi_cache வழிமுறைகளைப் பயன்படுத்துகிறது.

காட்டப்பட்டுள்ளபடி fastcgi_cache_valid உத்தரவைப் பயன்படுத்தி வெவ்வேறு பதில்களுக்கான கேச்சிங் நேரத்தையும் அமைக்கவும்.

fastcgi_cache CACHEZONE;
fastcgi_cache_valid  60m;

எங்கள் விஷயத்தைப் போலவே தற்காலிக சேமிப்பு நேரமும் குறிப்பிடப்பட்டால், 200, 301 மற்றும் 302 பதில்கள் மட்டுமே தற்காலிக சேமிப்பில் உள்ளன. ஆனால் நீங்கள் பதில்களை வெளிப்படையாகக் குறிப்பிடலாம் அல்லது எதையும் பயன்படுத்தலாம் (எந்த மறுமொழி குறியீட்டிற்கும்):

fastcgi_cache CACHEZONE;
fastcgi_cache_valid 200  301 203 60m;
fastcgi_cache_valid 404 10m;
OR
fastcgi_cache CACHEZONE;
fastcgi_cache_valid  any 10m;

என்ஜினெக்ஸில் ஃபைன்-ட்யூனிங் ஃபாஸ்ட்ஜிஜி கேச்சிங் செயல்திறன்

மறுமொழி தற்காலிகமாக சேமிக்கப்படுவதற்கு முன்பு ஒரே விசையுடன் குறைந்தபட்ச கோரிக்கையை அமைக்க, httpc}} அல்லது <குறியீட்டில் fastcgi_cache_min_uses உத்தரவைச் சேர்க்கவும். > சேவையகம் {} அல்லது இடம் {} சூழல்.

fastcgi_cache_min_uses  3

If "If-Modified-Since" மற்றும்\"If-None-Match" தலைப்பு புலங்களுடன் நிபந்தனை கோரிக்கைகளைப் பயன்படுத்தி காலாவதியான கேச் உருப்படிகளின் மறு சரிபார்ப்பை இயக்க, <குறியீடு> fastcgi_cache_revalidate கட்டளையை <குறியீட்டிற்குள் சேர்க்கவும் > http {} அல்லது சேவையகம் {} அல்லது இடம் {} சூழல்.

fastcgi_cache_revalidate on;

இருப்பிட உத்தரவுக்குள், proxy_cache_use_stale உத்தரவைப் பயன்படுத்தி, அசல் சேவையகம் அல்லது FCGI சேவையகம் செயலிழந்துவிட்டால், தற்காலிக சேமிப்பை உள்ளடக்கத்தை வழங்க NGINX க்கு நீங்கள் அறிவுறுத்தலாம்.

இந்த மாதிரி உள்ளமைவு என்பது என்ஜிஎன்எக்ஸ் அப்ஸ்ட்ரீம் சேவையகத்திலிருந்து ஒரு பிழை, காலக்கெடு மற்றும் குறிப்பிட்ட ஏதேனும் பிழைகள் பெறும்போது மற்றும் தேக்ககப்படுத்தப்பட்ட உள்ளடக்கத்தில் கோரப்பட்ட கோப்பின் பழைய பதிப்பைக் கொண்டிருக்கும்போது, அது பழைய கோப்பை வழங்குகிறது.

proxy_cache_use_stale error timeout http_500;

FCGI கேச்சிங் செயல்திறனை மேம்படுத்துவதற்கான மற்றொரு பயனுள்ள உத்தரவு fastcgi_cache_background_update ஆகும், இது proxy_cache_use_stale உத்தரவுடன் இணைந்து செயல்படுகிறது. இயக்கப்படும் போது, வாடிக்கையாளர்கள் காலாவதியான அல்லது அப்ஸ்ட்ரீம் சேவையகத்திலிருந்து புதுப்பிக்கப்படும் செயலில் இருக்கும் கோப்பைக் கோரும்போது பழைய உள்ளடக்கத்தை வழங்க என்ஜிஎன்எக்ஸ் அறிவுறுத்துகிறது.

fastcgi_cache_background_update on;

fastcgi_cache_lock மிகவும் பயனுள்ளதாக இருக்கும், இதில் கேச் செயல்திறன் நன்றாக இருக்கும், பல வாடிக்கையாளர்கள் தற்காலிக சேமிப்பில் இல்லாத அதே உள்ளடக்கத்தை கோரினால், என்ஜிஎன்எக்ஸ் முதல் கோரிக்கையை மட்டுமே அப்ஸ்ட்ரீம் சேவையகத்திற்கு அனுப்பும், கேச் கேச் பதில் பின்னர் தற்காலிக சேமிப்பிலிருந்து பிற கிளையன்ட் கோரிக்கைகளுக்கு சேவை செய்யும்.

fastcgi_cache_lock on;

NGINX உள்ளமைவு கோப்பில் மேலே உள்ள அனைத்து மாற்றங்களையும் செய்த பிறகு, அதைச் சேமித்து மூடவும். என்ஜிஎன்எக்ஸ் சேவையை மறுதொடக்கம் செய்வதற்கு முன் ஏதேனும் தொடரியல் பிழைகள் உள்ளமைவு கட்டமைப்பை சரிபார்க்கவும்.

# nginx -t
# systemctl restart nginx

அடுத்து, தற்காலிக சேமிப்பு சரியாக செயல்படுகிறதா என சோதிக்கவும், பின்வரும் சுருட்டை கட்டளையைப் பயன்படுத்துவதிலிருந்து உங்கள் வலை பயன்பாடு அல்லது தளத்தை அணுக முயற்சிக்கவும் (முதல் முறையாக ஒரு மிஸ்ஸைக் குறிக்க வேண்டும், ஆனால் அடுத்தடுத்த கோரிக்கைகள் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி ஒரு HIT ஐக் குறிக்க வேண்டும்).

# curl -I http://testapp.linux-console.net

என்ஜிஎன்எக்ஸ் பழைய தரவை வழங்குவதைக் காட்டும் மற்றொரு ஸ்கிரீன் ஷாட் இங்கே.

தற்காலிக சேமிப்பில் விதிவிலக்குகளைச் சேர்த்தல்

fastcgi_cache_bypass உத்தரவைப் பயன்படுத்தி, வாடிக்கையாளர்களுக்கு தற்காலிக சேமிப்புகளை அனுப்பக்கூடாது என்று நிபந்தனைகளை அமைக்க முடியும். அப்ஸ்ட்ரீம் சேவையகத்திலிருந்து பதில்களைத் தேட வேண்டாம் என்று என்ஜிஎன்எக்ஸ்-க்கு அறிவுறுத்த, fastcgi_no_cache ஐப் பயன்படுத்தவும்.

எடுத்துக்காட்டாக, வினவல் சரம் கொண்ட POST கோரிக்கைகள் மற்றும் URL கள் எப்போதும் PHP க்கு செல்ல விரும்பினால். முதலில், நிபந்தனையை பின்வருமாறு அமைக்க if if அறிக்கையை அறிவிக்கவும்.

set $skip_cache 0; 
if ($request_method = POST) { 
	set $skip_cache 1; 
} 

fastcgi_cache_bypass மற்றும் fastcgi_no_cache வழிமுறைகளைப் பயன்படுத்தி, PHP கோரிக்கைகளை PHP-FPM க்கு அனுப்பும் இருப்பிடம் உத்தரவில் மேலே உள்ள விதிவிலக்கை செயல்படுத்தவும்.

 
fastcgi_cache_bypass $skip_cache; 
fastcgi_no_cache $skip_cache;

உங்கள் தளத்தின் பல பகுதிகள் உள்ளன, இதற்காக நீங்கள் உள்ளடக்க தேக்ககத்தை இயக்க விரும்பவில்லை. பின்வருவது ஒரு வேர்ட்பிரஸ் தளத்தின் செயல்திறனை மேம்படுத்துவதற்கான என்ஜிஎன்எக்ஸ் உள்ளமைவு, இது nginx.com வலைப்பதிவில் வழங்கப்பட்டுள்ளது.

இதைப் பயன்படுத்த, உங்கள் சூழலில் இருப்பதை பிரதிபலிக்க மாற்றங்களை (டொமைன், பாதைகள், கோப்பு பெயர்கள் போன்றவை) செய்யுங்கள்.

fastcgi_cache_path /var/run/NGINX-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; 
fastcgi_cache_key "$scheme$request_method$host$request_uri"; 
server { 
	server_name example.com www.example.com; 
	root /var/www/example.com; 
	index index.php; 
	access_log /var/log/NGINX/example.com.access.log; 
	error_log /var/log/NGINX/example.com.error.log; 
	set $skip_cache 0; 
	# POST requests and URLs with a query string should always go to PHP 	
	if ($request_method = POST) { 
		set $skip_cache 1; 
	} 
	if ($query_string != "") {
		set $skip_cache 1; 
	} 
	# Don't cache URIs containing the following segments 
	if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php |sitemap(_index)?.xml") { 
		set $skip_cache 1; 
	} 
	# Don't use the cache for logged-in users or recent commenters 
	if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass |wordpress_no_cache|wordpress_logged_in") {
		set $skip_cache 1; 
	} 
	location / { 
		try_files $uri $uri/ /index.php?$args; 
	} 
	location ~ .php$ { 
		try_files $uri /index.php; 
		include fastcgi_params; 
		fastcgi_pass unix:/var/run/php5-fpm.sock; 
		fastcgi_cache_bypass $skip_cache; 
		fastcgi_no_cache $skip_cache; 
		fastcgi_cache WORDPRESS; 
		fastcgi_cache_valid 60m; 
	} 
	location ~ /purge(/.*) {
		fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1"; 
	} 
	location ~* ^.+.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg |gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi |wav|bmp|rtf)$ { 
		access_log off; 
		log_not_found off; 
		expires max; 
	} 
	location = /robots.txt { 
		access_log off; 
		log_not_found off; 
	}
	location ~ /. { 
		deny all; 
		access_log off; 
		log_not_found off; 
	} 
}

NGINX இல் ப்ராக்ஸி தற்காலிக சேமிப்பை இயக்குகிறது

பிற ப்ராக்ஸிட் சேவையகங்களிலிருந்து ( ப்ராக்ஸி_பாஸ் கட்டளையால் வரையறுக்கப்படுகிறது) பதில்களைத் தேடுவதையும் என்ஜிஎன்எக்ஸ் ஆதரிக்கிறது. இந்த சோதனை வழக்கிற்கு, நாங்கள் ஒரு Node.js வலை பயன்பாட்டிற்கான தலைகீழ் ப்ராக்ஸியாக NGINX ஐப் பயன்படுத்துகிறோம், எனவே Node.js பயன்பாட்டிற்கான தற்காலிக சேமிப்பாக NGINX ஐ இயக்குவோம். இங்கே பயன்படுத்தப்படும் அனைத்து உள்ளமைவு வழிமுறைகளும் முந்தைய பிரிவில் உள்ள FastCGI வழிமுறைகளைப் போன்ற அர்த்தங்களைக் கொண்டுள்ளன, எனவே அவற்றை மீண்டும் விளக்க மாட்டோம்.

ப்ராக்ஸிட் சேவையகத்திலிருந்து பதில்களைத் தேடுவதை இயக்க, உயர்மட்ட http {} சூழலில் proxy_cache_path உத்தரவைச் சேர்க்கவும். கோரிக்கைகள் எவ்வாறு தற்காலிகமாக சேமிக்கப்படுகின்றன என்பதைக் குறிப்பிட, நீங்கள் proxy_cache_key கட்டளையை பின்வருமாறு சேர்க்கலாம்.

proxy_cache_path /var/cache/nginx app1 keys_zone=PROXYCACHE:100m inactive=60m max_size=500m;
proxy_cache_key  "$scheme$request_method$host$request_uri";
add_header X-Cache-Status $upstream_cache_status;
proxy_cache_min_uses 3;

அடுத்து, இருப்பிட உத்தரவில் கேச் செயல்படுத்தவும்.

location / {
	proxy_pass http://127.0.0.1:3000;
	proxy_cache        PROXYCACHE;
	proxy_cache_valid 200 302 10m;
	proxy_cache_valid 404      1m;
}

என்ஜிஎன்எக்ஸ் தற்காலிக சேமிப்பில் உள்ள உள்ளடக்கத்தை அனுப்பாத மற்றும் அப்ஸ்ட்ரீம் சேவையகத்திலிருந்து பதிலைத் தேடாத நிலைமைகளை வரையறுக்க, proxy_cache_bypass மற்றும் proxy_no_cache ஆகியவை அடங்கும்.

 
proxy_cache_bypass  $cookie_nocache $arg_nocache$arg_comment;
proxy_no_cache        $http_pragma $http_authorization;

ஃபைன்-ட்யூனிங் ப்ராக்ஸி கேச் செயல்திறன்

ப்ராக்ஸி தற்காலிக சேமிப்பின் செயல்திறனைச் சரிசெய்ய பின்வரும் வழிமுறைகள் பயனுள்ளதாக இருக்கும். ஃபாஸ்ட்கிஜிஐ உத்தரவுகளின் அதே அர்த்தங்களும் அவற்றில் உள்ளன.

proxy_cache_min_uses 3;
proxy_cache_revalidate on;
proxy_cache_use_stale error timeout updating http_500;
proxy_cache_background_update on;
proxy_cache_lock on;

மேலும் தகவல் மற்றும் தற்காலிக சேமிப்பு கட்டளைகளுக்கு, ngx_http_proxy_module என்ற இரண்டு முக்கிய தொகுதிகளுக்கான ஆவணங்களைக் காண்க.

கூடுதல் ஆதாரங்கள்: வேர்ட்பிரஸ் செயல்திறனை மேம்படுத்துவதற்கான உதவிக்குறிப்புகள்.


அனைத்து உரிமைகளும் பாதுகாக்கப்பட்டவை. © Linux-Console.net • 2019-2024