njs рдПрдХ рд╣рд▓реНрдХреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдирдП nginx рдЪрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд░рдг рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Njs рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ? рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛? рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рдЗрди рдФрд░ рдЕрдиреНрдп рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджрд┐рдорд┐рддреНрд░реА рд╡реЛрд▓рд┐рдиреНрдЯрд╕реЗрд╡ (
xeioex ), nginx рдбреЗрд╡рд▓рдкрд░ рдФрд░ njs рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

- рджрд┐рдорд┐рддреНрд░реА, рдЖрдкрдХреЛ рдирдЧреАрди рдХреЙрдиреНрдлрд┐рдЧреНрд╕ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА?
- рдкрд╣рд▓рд╛ рдХрд╛рд░рдг
if
рдирд┐рд░реНрджреЗрд╢ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░ рдЙрд╕реЗ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ - рдиреЗрдЧрдиреЗрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреЛ рд╣реЗрдбрд░ рд╣реЛрдВрдЧреЗ: X-First рдФрд░ X-Secondред рд▓реЗрдХрд┐рди рдЙрддреНрддрд░ рдореЗрдВ рдХреЗрд╡рд▓ рджреВрд╕рд░рд╛ рд╣реЗрдбрд░ рдорд┐рд▓реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдирдЧреНрдиреЗрдХреНрд╕ рдЗрддрдиреА рд╡реНрдпрд╡рд╕реНрдерд╛ рд╣реИ: рдпрджрд┐ рд╣рдо рджреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдпрджрд┐ рдирд┐рд░реНрджреЗрд╢, рддреЛ рдЕрдВрддрд┐рдо рдПрдХ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
location /only-one-if { set $true 1; if ($true) { add_header X-First 1; } if ($true) { add_header X-Second 2; }
рджреВрд╕рд░рд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм рдирдЧрдиреЗрдХреНрд╕ рдЖ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд▓реЛрдб рд╕рдВрддреБрд▓рди - рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯред рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдиреЗ рдиреЗрдЧрдиреЗрдХреНрд╕ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдЦрддреНрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрдИ рдмреИрдХрдПрдВрдб рдкрд░ рд╕реНрдерд╛рди рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рдереАрдВ, рддреЛ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдЪрд▓рддреА рднрд╛рдЧреЛрдВ рд╣реИрдВред рдмреИрдХрдПрдВрдб рдЫреЛрдЯреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрди рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрд░реНрдХ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд┐рд╕реНрдЯ рд╕реЗрд╡рд╛ рдкрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдпрд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрдиреНрдирдд рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдЧрдиреЗрдХреНрд╕ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╛рдзрд╛рди рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рддреАрд╕рд░рд╛, рдирдЧреАрдирдХреНрд╕ рдореЗрдВ, рдХрдИ рдирд┐рд░реНрджреЗрд╢ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рднрд╛рд╡реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
proxy cache bypass $cookie_nocache $arg_nocache;
рдЖрдк рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдпрд╛ рд╢рд╛рдмреНрджрд┐рдХ рддрд╛рд░ рдХреЗ рд╕рд╛рде рдЪрд░ рдХреЛ рд╕рдорд╛рдкреНтАНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд░рдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдКрдкрд░реА рдФрд░ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдбрд╛рд▓рдирд╛ред
рдирдЧреАрдирдХреНрд╕ рдореЗрдВ рд╕рднреА рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдпрд╛ рдХреБрдЫ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рдореМрдЬреВрджрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рд▓реЗрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рдирдИ рднрд╛рд╖рд╛ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╕рдордп рдХреА рдмрдЪрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред рд╣рдордиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪреБрдирд╛ред
- рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрдпреЛрдВ?
- рд╣рдордиреЗ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪреБрдирд╛:
- рдПрдХ рдЖрдзреБрдирд┐рдХ рдмреЛрд▓реА, рдЬреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред
- рд╕реА рдЬреИрд╕реА рд╢реИрд▓реАред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ nginx config рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдХреЙрдиреНрдлрд╝рд┐рдЧ рдХреЗ рдЕрдВрджрд░ JS рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдмреНрд░реЗрд╕ рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реБрдЖ рдореЗрдВ, рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреА рднреВрдорд┐рдХрд╛ рд╢реБрд░реВ рдФрд░ рдЕрдВрдд рддрдХ рдХреА рдЬрд╛рддреА рд╣реИ - рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбрд▓ nginx рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред
"рддреЛ рд▓реВрдЖ рднреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛?" рдХреНрдпрд╛ рдпрд╣ рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреЗ рдХрд╛рд░рдг рд╣реИ?
- рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рддреГрддреАрдп-рдкрдХреНрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛ OpenResty рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ nginx + Lua рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИ рдЬреЛ рдХрд╛рдЙрдВрдЯрд░ рд╕реЗ nginx рддрдХ рдЪрд▓рддреА рд╣реИред рд╣рдо рдЗрд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рдЪреМрд░рд╛рд╣реЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдФрд░ рдХрд╛рд░рдг рд╣реИрдВ:
- рд▓реБрдЖ рдореЗрдВ рдкрд╛рд╕реНрдХрд▓ рдЬреИрд╕рд╛ рд╕рд┐рдВрдЯреЗрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред
- рдПрд░реЗ рдХреЛ 1 рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд▓реБрдЖ рдЕрднреА рднреА рдПрдХ рдЖрд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред
- njs рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ?
- рд╣рдордиреЗ рдкреНрд░рд╕рд┐рджреНрдз рдЗрдВрдЬрдиреЛрдВ - рд╡реА 8 рдФрд░ рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдВрдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдирдЬреЗ рдХреЛ рд░реЗрдЯ рдХрд┐рдпрд╛ред рд╡реЗ рдирдЧреАрдиреЗрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рднрд╛рд╡реА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рддреЗрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рднрд╛рд░реА рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдирдЧреАрдиреЗрдХреНрд╕ рдХреЛ рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпреЗ рджреЛрдиреЛрдВ рдЗрдВрдЬрди рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдЗрдирдХрд╛ рдПрдкреАрдЖрдИ рдЕрд╕реНрдерд┐рд░ рд╣реИред рдЕрдВрдд рдореЗрдВ, njs рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ nginx рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдмрдирд╛рдП рдЧрдП рд╕рдВрджрд░реНрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛- njs рдХрд┐рди рдорд╛рдирдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?
- рдлрд┐рд▓рд╣рд╛рд▓, ECMAScript 5.1 рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рдЧрднрдЧ рд╕рднреА рдореВрд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ 6 рдФрд░ 7 рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдХреБрдЫ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдСрдмреНрдЬреЗрдХреНрдЯ, рдПрд░реЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕рдВрдЦреНрдпрд╛, рджрд┐рдирд╛рдВрдХ, RegExp, JSON рдЬреИрд╕реА рдорд╛рдирдХ рд╡рд╕реНрддреБрдПрдВред рдХреНрд▓реЛрдЬрд╝рд░, рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рд╣рдо рдЕрдкрдиреЗ рдкреНрд░рд╛рдердорд┐рдХ рд▓рдХреНрд╖реНрдп рдХреЛ рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рддреЛ рдЗрд╕ рд╕рдордп рд╡рд╣рд╛рдБ
eval () рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрднреА рддрдХ рд╣рдо рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреАрд╡рд░реНрдб, рд╕рд╛рде рд╣реА рдПрд░реЛ рдлрд╝рдВрдХреНрд╢рди рдХрд░рддреЗ рд╣реИрдВред
рдЬреЛ рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдЬреЛ рдлрд┐рд▓рд╣рд╛рд▓ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИрдПрдХ рдФрд░ рдмрд╛рдд рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдХреА рдХрдореАред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рднрд╛рд╖рд╛рдПрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИрдВред рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдм рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рддрдВрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддреНрдпрд╛рдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ - рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдХрд╛рдо рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд░реБрдХ рднреА рдЬрд╛рддрд╛ рд╣реИред рдПрдирдЬреЗ рдореЗрдВ, рдореЗрдореЛрд░реА рдХреЛ рддрдм рддрдХ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВред рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд▓рдВрдмреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
- njs рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ?
- рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рджреЛрд╣рд░рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдирдЬреЗрдПрд╕ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдирдЧреНрдиреЗрдХреНрд╕ рдХреЗ рд▓рдЪреАрд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдкреНрд░реЙрдХреНрд╕реА рдкрдХреНрд╖ рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред
рдЕрдм рд╕рд╡рд╛рд▓ рдЦреБрдж рдХрд╛ред рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдХреНрдпрд╛ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
- Njs Node.js. рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ
- Nginx + njs рдмрдВрдбрд▓ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИред
- njs рдкреВрд░реА рддрд░рд╣ рд╕реЗ ECMAScript рдорд╛рдирдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ eval () рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдпрд╣ рд╡рд┐рд╖рдп рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдФрд░ рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░рд╕рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рджрд┐рдорд┐рддреНрд░реА рд╡реЛрд▓рд┐рдВрдЯрд╕реЗрд╡ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╡реАрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ HighLoad ++ рд╕рд╛рдЗрдмреЗрд░рд┐рдпрд╛ 2018 рдореЗрдВ рджреЗрдЦреЗрдВ, рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рднреА рдкрдХреНрд╖реЛрдВ рд╕реЗ рдЗрд╕рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ред
рд╣рдо 8 рдирд╡рдВрдмрд░ рдФрд░ 9 рдирд╡рдВрдмрд░ рдХреЛ рд╕реНрдХреЛрд▓реЛрд╡реЛ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдирд╡рдВрдмрд░
рд╣рд╛рдИрд▓рд╛рдб ++ 2018 рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреВрдард╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдиреБрднрд╡ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ - 1 рд╕рд┐рддрдВрдмрд░ рд╕реЗ рдкрд╣рд▓реЗ рдкрдВрдЬреАрдХрд░рдг рдХрд░реЗрдВ рдФрд░
рдлреЙрд░реНрдо рднрд░реЗрдВред
рдпрджрд┐ рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдмреЛрд▓рдиреЗ рд╕реЗ рдбрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рддрдерд╛рдХрдерд┐рдд
рд╕реНрдкреАрдХрд░ рд╕реНрдХреВрд▓ рд╣реИ , рдЬрд╣рд╛рдВ рд╣рдо рдЗрди рдХреМрд╢рд▓реЛрдВ рдХреЛ рдореБрдлреНрдд рдореЗрдВ рдкрдВрдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред