nginx 1.18.0 ஐ வெளியிடவும்

ஒரு வருட வளர்ச்சிக்குப் பிறகு வழங்கப்பட்டது உயர் செயல்திறன் HTTP சேவையகம் மற்றும் மல்டிபிரோடோகால் ப்ராக்ஸி சர்வரின் புதிய நிலையான கிளை nginx 1.18.0, இது முக்கிய கிளை 1.17.x க்குள் திரட்டப்பட்ட மாற்றங்களை உறிஞ்சியது. எதிர்காலத்தில், நிலையான கிளை 1.18 இல் உள்ள அனைத்து மாற்றங்களும் கடுமையான பிழைகள் மற்றும் பாதிப்புகளை நீக்குவதோடு தொடர்புடையதாக இருக்கும். nginx 1.19 இன் முக்கிய கிளை விரைவில் உருவாக்கப்படும், அதற்குள் புதிய அம்சங்களின் வளர்ச்சி தொடரும். மூன்றாம் தரப்பு தொகுதிகளுடன் பொருந்தக்கூடிய தன்மையை உறுதிப்படுத்தும் பணி இல்லாத சாதாரண பயனர்களுக்கு, பரிந்துரைக்கப்படுகிறது பிரதான கிளையைப் பயன்படுத்தவும், அதன் அடிப்படையில் வணிக தயாரிப்பு Nginx Plus வெளியீடுகள் ஒவ்வொரு மூன்று மாதங்களுக்கும் உருவாகின்றன.

படி ஏப்ரல் அறிக்கை Netcraft nginx அனைத்து செயலில் உள்ள தளங்களில் 19.56% பயன்படுத்தப்படுகிறது (ஒரு வருடம் முன்பு 20.73%, இரண்டு ஆண்டுகளுக்கு முன்பு 21.02%), இது இந்த வகையின் பிரபலத்தில் இரண்டாவது இடத்திற்கு ஒத்திருக்கிறது (Apache இன் பங்கு 27.64%, Google - 10.03%, Microsoft IIS - 4.77%) . அதே நேரத்தில், அனைத்து தளங்களையும் கருத்தில் கொள்ளும்போது, ​​nginx அதன் தலைமையைத் தக்க வைத்துக் கொண்டது மற்றும் சந்தையில் 36.91% (ஒரு வருடம் முன்பு 27.52%) ஆக்கிரமித்துள்ளது, அதே நேரத்தில் Apache இன் பங்கு 24.73%, மைக்ரோசாப்ட் IIS - 12.85%, Google - 3.42%.

உலகில் அதிகம் பார்வையிடப்பட்ட மில்லியன் தளங்களில், nginx இன் பங்கு 25.54% (ஒரு வருடத்திற்கு முன்பு 26.22%, இரண்டு ஆண்டுகளுக்கு முன்பு 23.76%). தற்போது, ​​சுமார் 459 மில்லியன் இணையதளங்கள் Nginx (ஒரு வருடத்திற்கு முன்பு 397 மில்லியன்) இயங்குகின்றன. மூலம் தரவு W3Techs nginx அதிகம் பார்வையிடப்பட்ட மில்லியன்களில் 31.9% தளங்களில் பயன்படுத்தப்படுகிறது, கடந்த ஆண்டு ஏப்ரலில் இந்த எண்ணிக்கை 41.8% ஆக இருந்தது, அதற்கு முந்தைய ஆண்டு - 38% (கிளவுட்ஃப்ளேர் http சேவையகத்தின் தனி கணக்கியல் மாற்றத்தால் சரிவு விளக்கப்பட்டுள்ளது). அப்பாச்சியின் பங்கு 43.6% இலிருந்து 38.9% ஆகவும், மைக்ரோசாப்ட் IIS இன் பங்கு 8.6% இலிருந்து 8.3% ஆகவும் ஆண்டு முழுவதும் சரிந்தது. ரஷ்யாவில் nginx பயன்படுத்தப்படுகிறது அதிகம் பார்வையிடப்பட்ட தளங்களில் 78.9% (ஒரு வருடத்திற்கு முன்பு - 81%).

1.17.x அப்ஸ்ட்ரீம் கிளையின் வளர்ச்சியின் போது சேர்க்கப்பட்ட மிகவும் குறிப்பிடத்தக்க மேம்பாடுகள்:

  • உத்தரவு சேர்க்கப்பட்டது வரம்பு_req_dry_run, இது சோதனை ஓட்ட பயன்முறையை செயல்படுத்துகிறது, இதில் கோரிக்கை செயலாக்கத்தின் தீவிரத்தில் (விகித வரம்பு இல்லாமல்) எந்த கட்டுப்பாடுகளும் பயன்படுத்தப்படாது, ஆனால் பகிர்ந்த நினைவகத்தில் வரம்புகளை மீறும் கோரிக்கைகளின் எண்ணிக்கையை தொடர்ந்து கணக்கில் எடுத்துக்கொள்கிறது;
  • உத்தரவு சேர்க்கப்பட்டது limit_conn_dry_run, இது ngx_http_limit_conn_module தொகுதியை சோதனை இயக்க முறைக்கு மாற்றுகிறது, இதில் இணைப்புகளின் எண்ணிக்கை குறைவாக இல்லை, ஆனால் கணக்கில் எடுத்துக்கொள்ளப்படுகிறது;
  • கட்டளை சேர்க்கப்பட்டது"அங்கீகார_தாமதம்", கடவுச்சொல் யூகத்தின் தீவிரத்தைக் குறைப்பதற்கும் பாதுகாப்பதற்கும் 401 என்ற மறுமொழிக் குறியீட்டைக் கொண்டு அங்கீகரிக்கப்படாத கோரிக்கைகளுக்கு தாமதத்தைச் சேர்க்க இது உங்களை அனுமதிக்கிறது. தாக்குதல்கள், அணுகல் குறைவாக உள்ள அமைப்புகளை அணுகும் போது செயல்பாடுகளின் செயல்பாட்டின் நேரத்தின் அளவீட்டைக் கையாளுதல் (நேர தாக்குதல்) கடவுச்சொல், ஒரு துணை வினவலின் முடிவு அல்லது ஜே.டபிள்யூ.டி (JSON வலை டோக்கன்);
  • "limit_rate" மற்றும் "limit_rate_after" வழிமுறைகளிலும், ஸ்ட்ரீம் தொகுதியின் "proxy_upload_rate" மற்றும் "proxy_download_rate" கட்டளைகளிலும் மாறிகளுக்கான ஆதரவு சேர்க்கப்பட்டது;
  • உத்தரவில் grpc_pass முகவரியை வரையறுக்கும் அளவுருவில் மாறியைப் பயன்படுத்துவதற்கான ஆதரவைச் சேர்த்தது. முகவரி ஒரு டொமைன் பெயராகக் குறிப்பிடப்பட்டால், பெயர் விவரிக்கப்பட்ட சேவையகங்களின் குழுக்களில் தேடப்படும், மேலும் கண்டுபிடிக்கப்படவில்லை எனில், ஒரு தீர்வைப் பயன்படுத்தி தீர்மானிக்கப்படுகிறது;
  • புதிய மாறிகள் சேர்க்கப்பட்டன $proxy_protocol_server_addr и $proxy_protocol_server_port, ப்ராக்ஸி புரோட்டோகால் தலைப்பிலிருந்து பெறப்பட்ட சேவையக முகவரி மற்றும் போர்ட்டைக் கொண்டிருக்கும்;
  • தொகுதியில் ngx_stream_limit_conn_module மாறி சேர்க்கப்பட்டது $limit_conn_status, இது இணைப்புகளின் எண்ணிக்கையைக் கட்டுப்படுத்துவதன் முடிவைச் சேமிக்கிறது: PASSED, REJECTED அல்லது REJECTED_DRY_RUN;
  • தொகுதியில் ngx_http_limit_req_module மாறி சேர்க்கப்பட்டது $limit_req_status, கோரிக்கைகளின் வருகையின் விகிதத்தைக் கட்டுப்படுத்தும் முடிவைச் சேமிக்கிறது: கடந்து, தாமதமானது, நிராகரிக்கப்பட்டது, DELAYED_DRY_RUN அல்லது REJECTED_DRY_RUN;
  • முன்னிருப்பாக, தொகுதி கூடியது ngx_http_postpone_filter_module;
  • உள்ளமைக்கப்பட்ட பெர்ல் மொழிபெயர்ப்பாளரால் வழங்கப்பட்ட $r->internal_redirect() முறையைப் பயன்படுத்தி "இருப்பிடம்" என்று பெயரிடப்பட்ட தொகுதிகளை மாற்றுவதற்கான ஆதரவு சேர்க்கப்பட்டது. இந்த முறை இப்போது தப்பித்த எழுத்துகளுடன் URI களை செயலாக்குகிறது;
  • "அப்ஸ்ட்ரீம்" செட்டிங்ஸ் பிளாக்கில் "அப்ஸ்ட்ரீம்" கட்டளையைப் பயன்படுத்தும் போதுபுல»கிளையன்ட்-சர்வர் பைண்டிங்குடன் சுமை சமநிலையை ஒழுங்கமைக்க, நீங்கள் ஒரு வெற்று விசை மதிப்பைக் குறிப்பிட்டால், சீரான சமநிலை முறை (ரவுண்ட்-ராபின்) இப்போது செயல்படுத்தப்படுகிறது;
  • ioctl(FIONREAD)ஐ அழைப்பதற்கான ஆதரவு, காலப்போக்கில் வேகமான இணைப்பிலிருந்து படிப்பதைத் தவிர்க்க, கிடைக்கப்பெற்றால்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்