Image

ज्ञानधार → nginx सेवा द्वारा अनुरोध प्रसंस्करण की गति को अनुकूलित करना

इष्टतम nginx सेटिंग्स आपको अनुरोध प्रसंस्करण की गति बढ़ाने की अनुमति देती हैं। साझा होस्टिंग पर, एक नियम के रूप में, सभी सेटिंग्स होस्टिंग प्रदाता के विशेषज्ञों द्वारा पहले ही की जा चुकी हैं। और वर्चुअल सर्वर पर साइट होस्ट करने के मामले में, सभी सेटिंग्स स्वतंत्र रूप से की जाती हैं।

साइट को तेजी से काम करने के लिए, हम एक कॉन्फ़िगरेशन की जांच करने की सलाह देते हैं जो nginx वेब सर्वर को तेजी से काम करने की अनुमति देगा।

1. आइए बुनियादी सेटिंग्स की जाँच करें

nano /etc/nginx/nginx.conf

1.1 विकल्प स्वचालित रूप से वर्चुअल सर्वर पर कोर की संख्या निर्धारित करता है।

worker_processes auto;

1.2 संपीड़न सेटिंग्स

        gzip on;
        gzip_vary on;
	gzip_proxied any;
	gzip_comp_level 6;
	gzip_buffers 16 8k;
	gzip_http_version 1.1;
	gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/ xml+rss text/javascript;

1.3 आइए http/2 सक्षम करें

आइए लिसन लाइन में एसएसएल के बाद वेब होस्ट फ़ाइल के सर्वर सेक्शन में http2 जोड़ें। यह विकल्प केवल https के लिए जोड़ा जाना चाहिए।

server {
    listen 89.xx.77.xx:443 ssl http2;
    listen [2a01:xx:4:x::xx]:443 ssl http2;

1.3.1 आइए HTTP2 के संचालन की जाँच करें

nginx -t
service nginx restart
curl -I https://your-domain.tld

हमें निम्नलिखित आउटपुट मिलता है:

HTTP/2 200 
server: nginx
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
cache-control: no-cache, private
date: Tue, 26 Mar 2024 10:39:35 GMT

1.4 आइए अधिकतम संख्या में कनेक्शन कॉन्फ़िगर करें

डिफ़ॉल्ट 768 है, आइए संख्या को ऑपरेटिंग सिस्टम में निर्दिष्ट संख्या में बदलें।

1.4.1 आइए मूल्य की जाँच करें

ulimit -n

1024

1.4.2 आइए इसे nginx सेटिंग्स फ़ाइल में सेट करें

nano /etc/nginx/nginx.conf
events {
	worker_connections 1024;
}

1.5 आइए बफ़र आकार को कॉन्फ़िगर करें

डिफ़ॉल्ट रूप से, nginx में मेमोरी के एक पृष्ठ का बफर आकार होता है। कैश से अधिक अनुरोधों को संसाधित करने में सक्षम होने के लिए, आइए आपके होस्ट के अनुभाग के अंदर मानों को बदलें http {}.

nano /etc/nginx/conf.d/domain-tld.conf
http {
...    

client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;

...
}

1.6 अनुरोध प्रसंस्करण के लिए टाइमआउट सेट करें

उच्च लोड और कम प्रतीक्षा समय के तहत, क्लाइंट को एक त्रुटि संदेश प्राप्त हो सकता है जब nginx वेब सर्वर को php-fpm से प्रतिक्रिया नहीं मिली है, इस स्थिति में प्रतीक्षा समय बढ़ाया जाना चाहिए।

कृपया ध्यान दें कि प्रतीक्षा समय बढ़ाने से बाढ़ या डीडीओएस हमलों की स्थिति में नकारात्मक प्रभाव पड़ सकता है, क्योंकि इसके लिए सर्वर से अधिक संसाधनों की आवश्यकता होगी।

nano /etc/nginx/conf.d/domain-tld.conf
http {
...    

client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

...
}

अब आपका nginx अधिक गति से अनुरोधों को संसाधित करेगा। सभी परिवर्तन करने के बाद, त्रुटियों के लिए कॉन्फ़िगरेशन फ़ाइल की जाँच करें और परिवर्तनों को लागू करने के लिए सेवा को पुनरारंभ करें।

nginx -t
service nginx restart

तैयार।





No Comments Yet