उबंटू 18.04 पर Nginx में ब्रेटली समर्थन जोड़ें

ब्रेटली (br) एक नया खुला स्रोत संपीड़न एल्गोरिदम है, जिसे Google द्वारा Gzip, Zopfli और Defateate के विकल्प के रूप में विकसित किय�� गया है। इसे औपचारिक रूप से इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) में RFC 7932 के रूप में परिभाषित किया गया है । Brotli पर Google के केस स्टडी में सीपीयू के कम उपयोग के साथ वर्तमान विधियों की तुलना में 26% तक कम से कम अनुपात दिखाया गया है।

Nginx के पास आधिकारिक समर्थन नहीं है लेकिन Google द्वारा ngx_brotli नामक एक तृतीय-पक्ष मॉड्यूल विकसित किया गया है जिसका उपयोग हम Nginx में समर्थन जोड़ने के लिए कर सकते हैं।

यह मार्गदर्शिका आपको दिखाएगी कि नए उबंटू 18.04 एलटीएस वल्चर उदाहरण पर नगनेक्स में ब्रॉटलि समर्थन कैसे जोड़ा जाए।

नोट: यह गाइड johndoeएक उदाहरण उपयोगकर्ता के example.comरूप में और एक उदाहरण डोमेन के रूप में उपयोग करेगा । उन्हें अपने नामों के अनुसार बदलें।

आवश्यकताएँ

  • Ubuntu 18.04 LTS सर्वर
  • Nginx संस्करण 1.11.5 या अधिक
  • डोमेन नाम A/ AAAAरिकॉर्ड सेट अप के साथ
  • टीएलएस प्रमाण पत्र

शुरू करने से पहले

Ubuntu संस्करण की जाँच करें।

lsb_release -ds
# Ubuntu 18.04 LTS

एक्सेस और स्विच के non-rootसाथ एक नया उपयोगकर्ता खाता बनाएं sudo

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

नोट : अपने उपयोगकर्ता नाम के साथ बदलेंjohndoe

अपने ऑपरेटिंग सिस्टम के सॉफ्टवेयर को अपडेट करें।

sudo apt update && sudo apt upgrade -y

टाइमजोन सेट करें।

sudo dpkg-reconfigure tzdata

आवश्यक बिल्ड टूल और पैकेज स्थापित करें।

sudo apt install -y build-essential git apt-transport-https socat

चरण 1 - Acme.sh स्थापित करें और लेट्स एनक्रिप्ट से टीएलएस प्रमाणपत्र प्राप्त करें

ब्रेटली को आपको HTTPS सेट करने और उपयोग करने की आवश्यकता है। इस भाग में हम लेट्स एनक्रिप्ट से एक विश्वसनीय प्रमाण पत्र प्राप्त करेंगे।

Acme.sh को डाउनलोड और इंस्टॉल करें।

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc

संस्करण की जाँच करें।

acme.sh --version
# v2.8.0

के लिए RSA और ECDSA प्रमाणपत्र प्राप्त करें example.com

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength 2048

# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength ec-256

ऊपर दिए आदेशों को चलाने के बाद, आपके प्रमाणपत्र और कुंजियाँ निम्नलिखित स्थानों पर होंगी:

  • आरएसए: /etc/letsencrypt/example.com
  • ईसीसी / ECDSA: /etc/letsencrypt/example.com_ecc

चरण 2 - Nginx रिपॉजिटरी से Nginx स्थापित करें

डाउनलोड करें और आधिकारिक Nginx रेपो से नवीनतम मेनलाइन Nginx स्थापित करें।

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

संस्करण की जाँच करें।

sudo nginx -v
# nginx version: nginx/1.15.2

सक्षम करें और Nginx शुरू करें।

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

चरण 3 - ब्रेटली स्रोत कोड को डाउनलोड और संकलित करें

Nginx को स्थापित करने के बाद, हमें ngx_brotliएक गतिशील Nginx मॉड्यूल के रूप में Brotli मॉड्यूल ( ) बनाने की आवश्यकता है । Nginx संस्करण 1.11.5 से संपूर्ण Nginx सॉफ़्टवेयर को संकलित किए बिना व्यक्तिगत गतिशील मॉड्यूल संकलित करना संभव है। अगले कुछ चरणों में, हम पूर्ण नग्नेक्स को संकलित किए बिना Brotli मॉड्यूल को गतिशील रूप में बनाएंगे।

मेनलाइन निग्नेक्स स्रोत कोड का नवीनतम संस्करण डाउनलोड करें और इसे निकालें।

wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz

नोट : यह बहुत महत्वपूर्ण है कि Nginx पैकेज और Nginx स्रोत कोड मैच के संस्करण संख्या। यदि आपने Nginx रिपॉजिटरी से Nginx 1.15.2 स्थापित किया है, तो आपको इस मामले में स्रोत कोड , 1.15.2 का समान संस्करण डाउनलोड करना होगा

हटा दें nginx-1.15.2.tar.gz

rm nginx-1.15.2.tar.gz

गिटहब ngx_brotliसे क्लोन ।

git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~

Nginx स्रोत कोड निर्देशिका पर नेविगेट करें।

cd ~/nginx-1.15.2

आवश्यक लाइब्रेरी डाउनलोड करें।

sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev

संकलित ngx_brotliएक गतिशील मॉड्यूल के रूप में है और यह Nginx मॉड्यूल के लिए मानक निर्देशिका में कॉपी, /etc/nginx/modules

./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules

सूची में फ़ाइलें /etc/nginx/modulesऔर आप देखेंगे ngx_http_brotli_filter_module.soऔर ngx_http_brotli_static_module.so

ls /etc/nginx/modules

644सभी .soफ़ाइलों के लिए अनुमतियाँ सेट करें ।

sudo chmod 644 /etc/nginx/modules/*.so

चरण 4 - Nginx कॉन्फ़िगर करें

हम Nginx में Brotli समर्थन को कॉन्फ़िगर करने के लिए तैयार हैं।

sudo vim /etc/nginx/nginx.confनए Brotli मॉड्यूल को लोड करने के लिए फ़ाइल के शीर्ष पर निम्न दो निर्देश चलाएँ और जोड़ें।

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;

कॉन्फ़िगरेशन का परीक्षण करें।

sudo nginx -t

इसके लिए एक डॉक्यूमेंट रूट डायरेक्टरी बनाएं example.comऔर index.htmlउसमें कुछ कंटेंट बनाएं ।

sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit

के लिए एक वर्चुअल होस्ट बनाएं example.com

sudo vim /etc/nginx/conf.d/example.com.conf

इसे निम्नलिखित कॉन्फ़िगरेशन से पॉप्युलेट करें।

server {
  listen 80;
  server_name example.com; # Replace with your domain name
  return 301 https://$server_name$request_uri;
}

server {    
  listen 443 ssl http2;
  server_name example.com; # Replace with your domain name

  root /var/www/example.com; # Replace with your document root

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  brotli on;
  brotli_static on;
  brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
}

कॉन्फ़िगरेशन का परीक्षण करें।

sudo nginx -t

रीलोडेड नेग्नेक्स।

sudo systemctl reload nginx.service

अपने वेब ब्राउज़र में अपनी साइट पर जाएँ और डेवलपर टूल का नेटवर्क टैब खोलें। आप Content-Encoding: brप्रतिक्रिया हेडर में देखेंगे । यह संकेतक है कि ब्रेटली संपीड़न काम कर रहा है।

उबंटू 18.04 पर Nginx में ब्रेटली समर्थन जोड़ें

उबंटू 18.04 पर Nginx में ब्रेटली समर्थन जोड़ें

आपने अपने वेब सर्वर पर Brotli संपीड़न सक्षम किया है।



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

उबंटू 16.04 एलटीएस पर एक इंस्पिरैकड आईआरसी सर्वर स्थापित करना

उबंटू 16.04 एलटीएस पर एक इंस्पिरैकड आईआरसी सर्वर स्थापित करना

इंटरनेट रिले चैट (आईआरसी) एक ऐसी चीज है जो इंटरनेट के शुरुआती दिनों से आसपास है। इस गाइड में, मैं आपको आईआर सेटअप करने का तरीका दिखाऊंगा

उबटन 18.04 एलटीएस पर स्रोत से ब्रोथली का निर्माण कैसे करें

उबटन 18.04 एलटीएस पर स्रोत से ब्रोथली का निर्माण कैसे करें

एक अलग प्रणाली का उपयोग? ब्रेटली एक नई संपीड़न विधि है जिसमें GZIP से बेहतर संपीड़न अनुपात है। इसका स्रोत कोड सार्वजनिक रूप से इस Githu पर होस्ट किया गया है

डेबियन 7 पर MySQL के दृश्यों का उपयोग करना

डेबियन 7 पर MySQL के दृश्यों का उपयोग करना

परिचय MySQL में विचारों के रूप में एक महान विशेषता है। दृश्य संग्रहीत प्रश्न हैं। अन्यथा लंबी क्वेरी के लिए उन्हें एक उपनाम के रूप में सोचें। इस गाइड में,

कैसे एक Ubuntu 16.04 दीपक वीपीएस पर सबरियन 4.1 सीएमएस स्थापित करने के लिए

कैसे एक Ubuntu 16.04 दीपक वीपीएस पर सबरियन 4.1 सीएमएस स्थापित करने के लिए

एक अलग प्रणाली का उपयोग? सबरियन 4.1 सीएमएस एक शक्तिशाली और लचीला खुला स्रोत कंटेंट मैनेजमेंट सिस्टम (सीएमएस) है जो सहज और स्पष्ट रूप से सामने लाता है

Ubuntu 16.04 LTS पर DokuWiki को कैसे स्थापित करें

Ubuntu 16.04 LTS पर DokuWiki को कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? DokuWiki PHP में लिखा एक खुला स्रोत विकी प्रोग्राम है जिसमें एक डेटाबेस की आवश्यकता नहीं होती है। यह पाठ फ़ाइलों में डेटा संग्रहीत करता है। DokuWik

डेबियन पर चेरोट की स्थापना

डेबियन पर चेरोट की स्थापना

यह आलेख आपको सिखाएगा कि डेबियन पर चेरोट जेल कैसे सेट करें। मुझे लगता है कि आप डेबियन 7.x का उपयोग कर रहे हैं यदि आप डेबियन 6 या 8 चला रहे हैं, तो यह काम कर सकता है, बू

डेबियन पर PiVPN कैसे स्थापित करें

डेबियन पर PiVPN कैसे स्थापित करें

परिचय डेबियन पर वीपीएन सर्वर स्थापित करने का एक आसान तरीका PiVPN के साथ है। PiVPN OpenVPN के लिए एक इंस्टॉलर और आवरण है। यह आपके लिए सरल कमांड बनाता है

डेबियन 9 पर GitLab सामुदायिक संस्करण (CE) 11.x कैसे स्थापित करें

डेबियन 9 पर GitLab सामुदायिक संस्करण (CE) 11.x कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? चूंकि GitHub को Microsoft द्वारा अधिग्रहित किया गया था, काफी कुछ डेवलपर्स ने अपने स्वयं के कोड रिपॉजिटरी को github.co से माइग्रेट करने की योजना बनाई है

डेबियन 8 पर एक फ्लैश 5 में पीबीएक्स स्थापित करें

डेबियन 8 पर एक फ्लैश 5 में पीबीएक्स स्थापित करें

PBX इन ए फ्लैश 5 (PIAF5) एक डेबियन 8 आधारित ऑपरेटिंग सिस्टम है जो आपके Vultr VPS को पूर्ण विकसित PBX में बदल देता है। इसके पास निम्नलिखित विशेषताएं हैं, और बहुत कुछ।

Ubuntu 18.04 LTS पर CyberPanel को कैसे इनस्टॉल और कॉन्फ़िगर करें

Ubuntu 18.04 LTS पर CyberPanel को कैसे इनस्टॉल और कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

Fedora 25 पर घोस्ट v0.11 LTS को कैसे नियुक्त करें

Fedora 25 पर घोस्ट v0.11 LTS को कैसे नियुक्त करें

एक अलग प्रणाली का उपयोग? घोस्ट एक ओपन सोर्स ब्लॉगिंग प्लेटफॉर्म है जो अपने 201 के बाद से डेवलपर्स और आम उपयोगकर्ताओं के बीच लोकप्रियता हासिल कर रहा है

CentOS 7 पर RockMongo स्थापित करें

CentOS 7 पर RockMongo स्थापित करें

RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा

कैसे आर्कब लिनक्स पर MariaDB 10.3 या MySQL 8.0 स्थापित करें

कैसे आर्कब लिनक्स पर MariaDB 10.3 या MySQL 8.0 स्थापित करें

किसी और Vultr सर्वर को आर्क लिनक्स (इस लेख को देखें) तक चला रहे हैं। सूडो पहुंच: रूट के रूप में चलाने के लिए आवश्यक कमांड #, और एक द्वारा उपसर्ग किए जाते हैं।

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ