ஒரு வருட வளர்ச்சிக்குப் பிறகு, உயர் செயல்திறன் கொண்ட HTTP சேவையகத்தின் புதிய நிலையான கிளை மற்றும் மல்டி-ப்ரோட்டோகால் ப்ராக்ஸி சர்வர் nginx 1.26.0 வெளியிடப்பட்டது, இது முக்கிய கிளை 1.25.x இல் திரட்டப்பட்ட மாற்றங்களை உள்ளடக்கியது. எதிர்காலத்தில், நிலையான கிளை 1.26 இல் உள்ள அனைத்து மாற்றங்களும் கடுமையான பிழைகள் மற்றும் பாதிப்புகளை நீக்குவதோடு தொடர்புடையதாக இருக்கும். nginx 1.27 இன் முக்கிய கிளை விரைவில் உருவாக்கப்படும், அதில் புதிய அம்சங்களின் வளர்ச்சி தொடரும். மூன்றாம் தரப்பு தொகுதிகளுடன் பொருந்தக்கூடிய தன்மையை உறுதிப்படுத்தும் பணி இல்லாத சாதாரண பயனர்களுக்கு, பிரதான கிளையைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது, அதன் அடிப்படையில் வணிக தயாரிப்பு Nginx Plus வெளியீடுகள் ஒவ்வொரு மூன்று மாதங்களுக்கும் உருவாகின்றன.
Netcraft இன் மார்ச் அறிக்கையின்படி, சுமார் 243 மில்லியன் வலைத்தளங்கள் Nginx ஐ இயக்குகின்றன (ஒரு வருடத்திற்கு முன்பு 289 மில்லியன்). அனைத்து செயலில் உள்ள தளங்களில் 18.15% Nginx பயன்படுத்தப்படுகிறது (ஒரு வருடம் முன்பு 18.94%, இரண்டு ஆண்டுகளுக்கு முன்பு 20.08%), இது இந்த வகையில் பிரபலமடைந்ததில் இரண்டாவது இடத்திற்கு ஒத்திருக்கிறது (அப்பாச்சியின் பங்கு 20.09% (ஒரு வருடம் முன்பு 20.52, இரண்டு ஆண்டுகள்) முன்பு 22.58%), Cloudflare - 14.12% (11.32%, 10.42%), Google - 10.41% (9.89%, 8.89%) அதே நேரத்தில், அனைத்து தளங்களையும் கருத்தில் கொள்ளும்போது, nginx அதன் தலைமையைத் தக்க வைத்துக் கொண்டது மற்றும் சந்தையில் 22.31% ஆக்கிரமித்துள்ளது. (ஒரு வருடத்திற்கு முன்பு 25.94%, இரண்டு ஆண்டுகளுக்கு முன்பு - 31.13%), அப்பாச்சியின் பங்கு 20.17% (20.58, 23.08%), Cloudflare - 11.24% (10.17, 5.49%), OpenResty (nginx மற்றும் LuaJIT.7.93 தளம்) % (7.94%, 8.01%).
உலகில் அதிகம் பார்வையிடப்பட்ட மில்லியன் தளங்களில், nginx இன் பங்கு 20.63% (ஒரு வருடம் முன்பு 21.37%, இரண்டு ஆண்டுகளுக்கு முன்பு 21.79%), Cloudflare - 22.59% (ஒரு வருடத்திற்கு முன்பு 21.62%), Apache httpd - 20.09% (21.18) %). W3Techs இன் படி, அதிகம் பார்வையிடப்பட்ட மில்லியன் தளங்களில் 34.3% nginx பயன்படுத்தப்படுகிறது, கடந்த ஆண்டு ஏப்ரல் மாதத்தில் இந்த எண்ணிக்கை 34.5% ஆக இருந்தது, அதற்கு முந்தைய ஆண்டு - 33.1%. அப்பாச்சியின் பங்கு 32.2% இலிருந்து %30.1 ஆகவும், மைக்ரோசாப்ட் IIS இன் பங்கு 5.6% இலிருந்து 4.8% ஆகவும் குறைந்தது. Node.js இன் பங்கு 2.4% இலிருந்து 3.2% ஆகவும், LiteSpeed இன் பங்கு 11.8% இலிருந்து 12.9% ஆகவும் அதிகரித்துள்ளது.
1.25.x அப்ஸ்ட்ரீம் கிளையின் வளர்ச்சியின் போது சேர்க்கப்பட்ட மிகவும் குறிப்பிடத்தக்க மேம்பாடுகள்:
- HTTP/3 நெறிமுறைக்கான சோதனை ஆதரவுடன் ngx_http_v3 தொகுதி சேர்க்கப்பட்டது. தொகுதியை உருவாக்க, "--with-http_v3_module" விருப்பம் வழங்கப்படுகிறது. HTTP/3 ஆனது QUIC (விரைவு UDP இணைய இணைப்புகள்) நெறிமுறையை HTTP/2க்கான போக்குவரத்து என வரையறுக்கிறது. QUIC என்பது UDP நெறிமுறையின் நீட்டிப்பாகும், இது பல இணைப்புகளின் மல்டிபிளெக்ஸை ஆதரிக்கிறது மற்றும் TLS/SSLக்கு சமமான குறியாக்க முறைகளை வழங்குகிறது. இணையத்திற்கான TCP+TLS சேர்க்கைக்கு மாற்றாக Google ஆல் 2013 இல் நெறிமுறை உருவாக்கப்பட்டது, நீண்ட இணைப்பு அமைப்பு மற்றும் TCP இல் பேச்சுவார்த்தை நேரங்கள் மற்றும் தரவு பரிமாற்றத்தின் போது பாக்கெட்டுகள் தொலைந்து போகும் போது ஏற்படும் தாமதங்களை நீக்குகிறது.
- சேவையகங்களுடன் தொடர்புடைய HTTP/2 நெறிமுறையைத் தேர்ந்தெடுத்து இயக்குவதற்கு ஒரு தனி “http2” கட்டளை சேர்க்கப்பட்டுள்ளது (தனி “சர்வர்” தொகுதிகளில் பயன்படுத்தலாம்). "கேளுங்கள்" கட்டளையில் உள்ள "http2" அளவுரு நிறுத்தப்பட்டது.
- HTTP/2 கிளையண்டுகளின் அசாதாரண செயல்பாட்டிற்கு எதிரான பாதுகாப்பு பலப்படுத்தப்பட்டுள்ளது, மேலும் குறிப்பாக, "விரைவான மீட்டமைப்பு" வகுப்பின் DoS தாக்குதல்களுக்கு எதிராக, ஒரே HTTP/2 இணைப்பிற்குள் அதிக எண்ணிக்கையிலான உடனடி மீட்டமைப்பு த்ரெட்கள் உருவாக்கப்படுகின்றன. இயல்புநிலை உள்ளமைவில், அத்தகைய தாக்குதல்கள் ஒரு இணைப்புக்கான கோரிக்கைகளின் எண்ணிக்கை "keepalive_requests" (ஒவ்வொரு 1000 கோரிக்கைகளுக்குப் பிறகும் இணைப்பு மீட்டமைக்கப்படும்) மற்றும் "limit_req" கட்டுப்பாடுகளால் வரையறுக்கப்படுகிறது. அதிக எண்ணிக்கையிலான த்ரெட்கள் மூலம் கோரிக்கைகளை முன்வைக்க, ஒரு கூடுதல் வரம்பு சேர்க்கப்பட்டுள்ளது, இது இயல்புநிலையாக ஒரு நிகழ்வு செயலாக்க சுழற்சியில் 256 (2 * max_concurrent_streams) க்கும் மேற்பட்ட புதிய தொடரிழைகளை உருவாக்க அனுமதிக்காது. புதிய வரம்பு ஒரே நேரத்தில் த்ரெட்களின் எண்ணிக்கையின் ஒட்டுமொத்த வரம்பை அடையும் முன் கோரிக்கைகளைத் தடுப்பதைத் தொடங்குவதை சாத்தியமாக்குகிறது.
- ஸ்ட்ரீம் தொகுதிக்கு ஆதரவு சேர்க்கப்பட்டுள்ளது. மெய்நிகர் சேவையகங்கள், இதன் உள்ளமைவு “server { … }” தொகுதியில் server_name கட்டளையைப் பயன்படுத்தி வரையறுக்கப்படுகிறது. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- http, stream, மற்றும் mail போன்ற தொகுதிகளுடன் தொடர்புடைய எந்தவொரு கேட்கும் சாக்கெட்டிற்கும் ஏற்றுக்கொள்ளப்பட்ட இணைப்புகளை நேரடியாக அனுப்ப வடிவமைக்கப்பட்ட ngx_stream_pass_module என்ற புதிய தொகுதி சேர்க்கப்பட்டது. stream { server { listen 12345 SSL; ssl_certificate domain.crt; ssl_certificate_key domain.key; பாஸ் 127.0.0.1:8000; } }
- ஸ்ட்ரீம் தொகுதியின் கேட்கும் கட்டளையானது "ஒத்திவைக்கப்பட்ட" (ஒத்திவைக்கப்பட்ட ஏற்றுக்கொள்ளலை செயல்படுத்துகிறது), "accept_filter" (ஏற்றுக்கொள்ளும் செயல்பாட்டை அழைப்பதற்கு முன் உள்வரும் இணைப்பு வடிகட்டி பயன்படுத்தப்பட்டது) மற்றும் "setfib" (ரூட்டிங் அட்டவணையை அமைத்தல்) அளவுருக்களுக்கான ஆதரவை செயல்படுத்துகிறது.
- சில கட்டமைப்புகளுக்கு, CPU கேச் மற்றும் நினைவகத்திற்கு இடையில் தரவை மாற்றுவதற்கு பயன்படுத்தப்படும் தொகுதி அளவை (கேச் லைன்) தீர்மானிப்பதற்கான ஆதரவு செயல்படுத்தப்பட்டுள்ளது.
- HTTP/2 இணைப்புகளைத் தானாகக் கண்டறியும் போது பயன்படுத்தப்படும் இடையகங்களின் மேம்படுத்தப்பட்ட மேலாண்மை.
- அதிக எண்ணிக்கையிலான "இருப்பிடம்" கட்டளைகளுடன் உள்ளமைவுகளைத் தொடங்குவதன் செயல்திறன் மேம்படுத்தப்பட்டுள்ளது.
- HTTP/2 இல் சர்வர் புஷ் தொழில்நுட்பத்திற்கான ஆதரவு அகற்றப்பட்டது.
- முன்பு நிராகரிக்கப்பட்ட "ssl" உத்தரவு நிறுத்தப்பட்டது.
FreeNginx 1.26.0 திட்டத்தின் நிலையான வெளியீடு, இது Nginx இன் ஃபோர்க்கை உருவாக்குகிறது, இது இரண்டு வாரங்களுக்கு முன்பு வெளியிடப்பட்டது. முக்கிய Nginx டெவலப்பர்களில் ஒருவரான Maxim Dunin என்பவரால் ஃபோர்க் உருவாக்கப்படுகிறது. FreeNginx ஒரு இலாப நோக்கற்ற திட்டமாக நிலைநிறுத்தப்பட்டுள்ளது, இது பெருநிறுவன தலையீடு இல்லாமல் Nginx குறியீடு தளத்தை மேம்படுத்துகிறது.
ஆதாரம்: opennet.ru
