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% ට අනුරූප වන අතර Microsoft IIS - 12.85%, Google - 3.42%.

ලෝකයේ වැඩිපුරම නරඹන අඩවි මිලියන අතර, nginx හි කොටස 25.54% (වසරකට පෙර 26.22%, වසර දෙකකට පෙර 23.76%). දැනට, වෙබ් අඩවි මිලියන 459 ක් පමණ Nginx (වසරකට පෙර මිලියන 397) ක්‍රියාත්මක වේ. විසින් ලබා දී ඇත W3Techs nginx වැඩිපුරම නරඹන ලද මිලියන ගණනින් 31.9% අඩවි වල භාවිතා වේ, පසුගිය වසරේ අප්‍රේල් මාසයේදී මෙම අගය 41.8% ක් විය, පෙර වසරේ - 38% (පහත වැටීම පැහැදිලි වන්නේ Cloudflare http සේවාදායකයේ වෙනම ගිණුම්කරණයට මාරුවීමෙනි). Apache හි කොටස වසර තුළ 43.6% සිට 38.9% දක්වා ද, Microsoft IIS හි කොටස 8.6% සිට 8.3% දක්වා ද පහත වැටුණි. රුසියාවේ nginx භාවිතා වේ වැඩිපුරම නරඹන ලද අඩවි වලින් 78.9% (වසරකට පෙර - 81%).

1.17.x උඩු ප්‍රවාහ ශාඛාව සංවර්ධනය කිරීමේදී එකතු කරන ලද වඩාත්ම කැපී පෙනෙන වැඩිදියුණු කිරීම්:

  • විධානය එකතු කරන ලදී සීමාව_req_dry_run, ඉල්ලීම් සැකසීමේ තීව්‍රතාවයට (අනුපාත සීමාවකින් තොරව) සීමා නොකෙරෙන අත්හදා බැලීමේ මාදිලිය සක්‍රිය කරන නමුත්, හවුල් මතකයේ සීමාවන් ඉක්මවන ඉල්ලීම් ගණන දිගටම සැලකිල්ලට ගනී;
  • විධානය එකතු කරන ලදී limit_conn_dry_run, ngx_http_limit_conn_module මොඩියුලය පරීක්ෂණ ධාවන මාදිලියට මාරු කරන, සම්බන්ධතා ගණන සීමා නොකෙරෙන නමුත් සැලකිල්ලට ගනු ලැබේ;
  • විධානය එකතු කරන ලදී "auth_ ප්රමාදය", මුරපද අනුමාන කිරීමේ තීව්‍රතාවය අඩු කිරීමට සහ එයින් ආරක්ෂා වීමට 401 ප්‍රතිචාර කේතයක් සමඟ අනවසර ඉල්ලීම් සඳහා ප්‍රමාදයක් එක් කිරීමට ඔබට ඉඩ සලසයි. පහර දෙනවා, ප්‍රවේශ සීමා සහිත පද්ධති වෙත ප්‍රවේශ වීමේදී මෙහෙයුම් ක්‍රියාත්මක කිරීමේ කාලය මැනීම (කාල ප්‍රහාරය) හැසිරවීම මුරපදය, උප විමසුමක ප්‍රතිඵලයක් හෝ ජේ.ඩබ්ලිව්.ටී (JSON වෙබ් ටෝකනය);
  • ප්‍රවාහ මොඩියුලයේ "proxy_upload_rate" සහ "proxy_download_rate" විධානයන්හි මෙන්ම "limit_rate" සහ "limit_rate_after" විධානවල විචල්‍යයන් සඳහා සහය එක් කරන ලදී;
  • නියෝගයේ grpc_pass ලිපිනයක් නිර්වචනය කරන පරාමිතියක විචල්‍යයක් භාවිතා කිරීම සඳහා සහාය එකතු කරන ලදී. ලිපිනය ඩොමේන් නාමයක් ලෙස සඳහන් කර ඇත්නම්, විස්තර කර ඇති සේවාදායක කණ්ඩායම් අතර නම සොයනු ලබන අතර, සොයාගත නොහැකි නම්, පසුව නිරාකරණයක් භාවිතයෙන් තීරණය කරනු ලැබේ;
  • නව විචල්‍යයන් එකතු කරන ලදී $proxy_protocol_server_addr и $proxy_protocol_server_port, PROXY ප්‍රොටෝකෝල ශීර්ෂයෙන් ලබාගත් සේවාදායක ලිපිනය සහ වරාය අඩංගු;
  • මොඩියුලයේ ngx_stream_limit_conn_module විචල්‍යය එකතු කරන ලදී $limit_conn_status, සම්බන්ධතා ගණන සීමා කිරීමේ ප්‍රතිඵලය ගබඩා කරන: PASSED, REJECTED හෝ REJECTED_DRY_RUN;
  • මොඩියුලයේ ngx_http_limit_req_module විචල්‍යය එකතු කරන ලදී $limit_req_status, ඉල්ලීම් පැමිණීමේ අනුපාතය සීමා කිරීමේ ප්‍රතිඵල ගබඩා කරන: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN හෝ REJECTED_DRY_RUN;
  • පෙරනිමියෙන්, මොඩියුලය එකලස් කර ඇත ngx_http_postpone_filter_module;
  • බිල්ට්-ඉන් පර්ල් පරිවර්තකය මඟින් සපයන $r->internal_redirect() ක්‍රමය භාවිතයෙන් "ස්ථානය" නම් කරන ලද කුට්ටි ටොගල් කිරීම සඳහා සහය එක් කරන ලදී. මෙම ක්‍රමයට දැන් ගැලවී ගිය අක්ෂර සහිත URI සැකසීම ඇතුළත් වේ;
  • "upstream" සැකසුම් බ්ලොක් එකේ "upstream" විධානය භාවිතා කරන විටහැෂ්»සේවාදායක-සේවාදායක බන්ධනය සමඟ බර තුලනය සංවිධානය කිරීමට, ඔබ හිස් යතුරු අගයක් සඳහන් කරන්නේ නම්, ඒකාකාර තුලන මාදිලිය (රවුන්ඩ් රොබින්) දැන් සක්‍රිය කර ඇත;
  • කාලයත් සමඟ වේගවත් සම්බන්ධතාවකින් කියවීම වැලැක්වීමට තිබේ නම් ioctl(FIONREAD) ඇමතීමට සහය එක් කරන ලදී.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න