рдЖрдкрдХреЛ рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ

рдирдЧреНрдиреЗрдХреНрд╕ рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ рджрд░реНрдЬрдиреЛрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓рдЪреАрд▓реЗ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрдХреЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд▓рдЧрднрдЧ рд╕рднреА рдУрдПрд╕ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реБрд╡рд┐рдзрд╛рдУрдВ, рдХреНрд╖рдорддрд╛рдУрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣рд▓ рдХрд░рдиреЗ рдХреА рд╕реВрдЪреА рдХреЛ рдЫреЛрдЯреЗ рд╡рд┐рд╡рд░рдгрд┐рдХрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА, рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдХреЗ рдХреЗрд╡рд▓ рдХрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпреЗ рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬреЛ рд╡реНрдпрд╛рдкрд╛рд░-рдЙрдиреНрдореБрдЦ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░рдгрд╛рд▓реА рд╕рдорд╛рдзрд╛рдиред



рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдирдЧрдиреЗрдХреНрд╕ рдореЗрдВ рд╕рдм рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдПрдХ рдмрд╛рд░ рдХрд┐рд╕реА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред рдЗрд╕рд▓рд┐рдП, рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рддрд╣рдд рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдирд╛ рди рдХреЗрд╡рд▓ рд╕рдВрднрд╡ рд╣реИ, рдмрд▓реНрдХрд┐ рдЖрд╡рд╢реНрдпрдХ рднреА рд╣реИред рдЬрдм рдпрд╣ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ, рд╡рд╕реАрд▓реА рд╕реЛрд╢рдирд┐рдХреЛрд╡ ( dedokOne ) рдХрдИ рдорд╛рдорд▓реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдмрддрд╛рдПрдЧрд╛ред

рдЖрдЗрдП рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реА рдореЗрдВ рд▓реЗрдЦрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдирдЧреАрди рдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдХреЛрд░, рдПрдЪрдЯреАрдЯреАрдкреА рдореЙрдбреНрдпреВрд▓, рдП рдореЙрдбреНрдпреВрд▓, рдПрдирдЬреЗрдПрд╕, рд▓реБрдЖ, рдФрд░ nginx.conf рдХреА рд╢рд╛рд░реАрд░рд┐рдХ рд░рдЪрдирд╛ред рдпрд╣ рди рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬреЛ рдирдЧреАрдирдХреНрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд╣реИрдВ рдЬреЛ рдирдЧреАрдиреЗрдХреНрд╕-рдХреЙрдиреНрдлрд┐рдЧ, рд▓реБрдЖ рдпрд╛ рдирдЧреАрдиреЗрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдиреЛрдЯ: рд▓реЗрдЦ рд╡рд╕реАрд▓реА рд╕реЛрд╢рдирд┐рдХреЛрд╡ рдХреА рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдбреЗрдЯ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛рдлреА рддрдХрдиреАрдХреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╛рдардХреЛрдВ рдХреЛ рдФрд╕рдд рд╕реНрддрд░ рдФрд░ рдЙрд╕рд╕реЗ рдКрдкрд░ рдХреЗ рдирдЧрдиреЗрдХреНрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ nginx рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


Nginx рдХреЗ рд╕рд╛рде рдЖрдк рд╕рднреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ ред рдиреЗрдЧрдиреЗрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрджреЗрд╢ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

Nginx.conf рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рднреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ ред рдЗрд╕рд▓рд┐рдП, рдиреЗрдЧрдиреЗрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╣реИред add_header ,xy_pass, рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢ - рдпреЗ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

Nginx рдПрдХ рдврд╛рдВрдЪрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣реИ: рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ I / O, рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧред рдпрд╣ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкрд░рдд рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Nginx рддреЗрдЬ рдФрд░ рд╕реНрдерд┐рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓ рд╣реИ ред рдЖрдкрдХреЛ рдРрд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдирдЧреАрдирдХреНрд╕ рдХреЗ рдЗрди рдЧреБрдгреЛрдВ рдХреЛ рди рдЦреЛрдПрдВред рдЙрддреНрдкрд╛рджрди рдкрд░ рдЕрд╕реНрдерд┐рд░ рдирд╛рдЬрд╝реЗрдиреНрдХреНрд╕ рдЕрд╕рдВрддреБрд╖реНрдЯ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ, рдФрд░ рдЗрд╕рд╕реЗ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреАред

рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреНрдпреЛрдВ рдмрдирд╛рдПрдВ


HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдмрджрд▓реЗрдВред рдпрд╣ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, memcached_pass рдореЙрдбреНрдпреВрд▓ HTTP рдХреЛ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЕрдиреНрдп рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕ рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ HTTP (рдПрд╕) рд╕реЗ рдПрдЪрдЯреАрдЯреАрдкреА (рдПрд╕) рддрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг fastcgi_pass рд╣реИред

рдпреЗ рд╕рднреА рдлреЙрд░реНрдо рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ: "рдРрд╕реЗ рдФрд░ рдРрд╕реЗ рдмреИрдХреЗрдВрдб рдкрд░ рдЬрд╛рдПрдВ, рдЬрд╣рд╛рдВ HTTP рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕ HTTP рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ)ред"

рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐: AdBlock рдмрд╛рдпрдкрд╛рд╕, рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреИрдХреЗрдВрдб рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, AdBlock, рдЬреЛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕реЗ рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдПрдХ рдФрд░ рдЪреАрдЬ рдЬреЛ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдХрдВрдЯреЗрдВрдЯ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рд╡рд╣ рд╣реИ рдПрдЪрдПрд▓рдПрд╕ рдХреИрд╢рд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛ред рдЬрдм рдПрдЪрдПрд▓рдПрд╕ рдХреЗ рдЕрдВрджрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╣реА рд╕рддреНрд░ рдпрд╛ рдПрдХ рд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдХреБрдЫ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╡рд╣рд╛рдВ рд╕реЗ рдЖрдк рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХрд╛рдЯрддреЗ рдпрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдЗрдВрдЯрд░рдиреЗрдЯ / рдореЛрдмрд╛рдЗрд▓ рдореАрдЯрд░ рд╕реЗ рдХреНрд▓рд┐рдХрд╕реНрдЯреНрд░реАрдо рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ред рдореЗрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдорд╛рдорд▓рд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдХреНрд╕рд░ рдпрд╣ рдирдЧрдиреЗрдХреНрд╕ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХреНрд╕реЗрд╕ рдкрд░ рдирд╣реАрдВредрд▓реЙрдЧ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдмреБрджреНрдзрд┐рдорд╛рдиред

рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, rtmp рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ rtmp рдХреЗ рд╕рд╛рде рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ HLS рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрд┐рдВрджреБ: рдПрд╕рдИрдкреА рдпрд╛ рдПрдкрд┐ рдЧреЗрдЯрд╡реЗред рдпрд╣ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрдм nginx рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЕрдзрд┐рдХреГрдд рдХрд░рддрд╛ рд╣реИ, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рдирд┐рдЧрд░рд╛рдиреА рдФрд░ ClickStream рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИред Nginx рдпрд╣рд╛рдБ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБред

рдЙрдирдХреЗ рдЕрдиреБрд╡рд░реНрддреА рдЕрдиреБрд░реЗрдЦрдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕рдВрд╡рд░реНрдзрдиред рдЖрдзреБрдирд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреИрдХрдПрдВрдб рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЯреАрдореЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХрднреА-рдХрднреА рдпрд╣ рд╕рдордЭрдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рдФрд░ рдХрд╣рд╛рдВ рдЧрдпрд╛ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпрд╛рдВ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ - рд╡реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рджреЗрдЦреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдбреЗрдЯрд╛ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рдЕрдиреБрд░реЛрдз рдкрде рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕реЗ рдЯреНрд░реЗрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

S3-рдкреНрд░реЙрдХреНрд╕реАред рдЗрд╕ рд╕рд╛рд▓, рдореИрдВ рдЕрдХреНрд╕рд░ рд▓реЛрдЧреЛрдВ рдХреЛ s3 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рджреЗрдЦрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╕реА-рдореЙрдбреНрдпреВрд▓ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдирдЧреАрдирдХреНрд╕ рдореЗрдВ рднреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд▓реБрдЖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдирдЬреЗрдПрд╕ рдкрд░ рдХреБрдЫ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рд╕реА рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдХрдм рд╣реИ


рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдорд╛рдирджрдВрдб рд╣реИрдВ рдХрд┐ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдгред рдЬрдм рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд░рд╣реЗ рд╣реИрдВ, рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗ рд░рд╣реЗ рд╣реИрдВред

рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рдиред рдЬрдм рдХреЛрдИ рд╡реНрдпрд╡рд╕рд╛рдп рдРрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ рдирдЧрдг рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдХрд░ рд╕рдВрддреБрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд╛рдпрдиреЗрдорд┐рдХ рдЗрдВрд╕рд░реНрд╢рди / рдХрдВрдЯреЗрдВрдЯ рдореЗрдВ рдмрджрд▓рд╛рд╡, рдХреНрд▓рд┐рдХ рд╕реНрдЯреНрд░реАрдХ рдХрд▓реЗрдХреНрд╢рди рд▓реБрдЖ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

Nginx рд╡рд╛рд╕реНрддреБрдХрд▓рд╛


рдореИрдВ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ nginx рдХреЛрдб рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдиреМ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрддрд╛рдИ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рд╣реИ, рдФрд░ рдХрдИ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреБрднрд╡ рдФрд░ рд╕рдордЭ рд╣реИред
Nginx рдПрдХ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдбреЙрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд╕рдм рдХреБрдЫ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддреЛ рдореИрдВ рдирдЧреАрдиреЗ рд╕рдордЭрддрд╛ рд╣реВрдВред
рдХреЛрд░ рдПрдкреЛрд▓ рдХреЗ рдКрдкрд░ рд░реИрдкрд░ рд╣реИрдВред
рдПрдкреЛрд▓ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рд╕реЙрдХреЗрдЯреНрд╕, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕рд┐рд░реНрдл рдПрдХ рд╕реЙрдХреЗрдЯ рдирд╣реАрдВ рд╣реИред

рдХреЛрд░ рдХреЗ рдКрдкрд░ рдЕрдкрд╕реНрдЯреНрд░реАрдо, HTTP рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╣реИрдВред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ nginx.conf, NJS рдирд╣реАрдВред рдЕрдкрд╕реНрдЯреНрд░реАрдо, HTTP рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреЗ рдКрдкрд░, HTTP рдореЙрдбреНрдпреВрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд░реНрдорд┐рдд рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред



рдЕрдкрд╕реНрдЯреНрд░реАрдо рдФрд░ HTTP рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕рд░реНрд╡рд░ рд╣реИрдВ - рдХреЙрдиреНрдлрд┐рдЧ рдХреЗ рдЕрдВрджрд░ рдирд┐рд░реНрджреЗрд╢ред HTTP рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг add_header рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ config рдлрд╛рдЗрд▓ рд╣реАред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡реЗ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ nginx рд╢рд╛рдорд┐рд▓ рд╣реИ; рдЗрд╕рдХреА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдпрд╛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╣рдо рдХреЛрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкрд░ рдмрд╣реБрдд рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдирд┐рд╡рд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрд▓рдЧ рдмреНрд░рд╣реНрдорд╛рдВрдб рд╣реИред рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдХрдИ рд▓реЗрдЦреЛрдВ рдХреЗ рдпреЛрдЧреНрдп рд╣реИред

HTTP рдореЙрдбреНрдпреВрд▓ рдХреЗ рдПрдирд╛рдЯреЙрдореА


рднрд▓реЗ рд╣реА рдЖрдк C рдХреЛрдб рдХреЛ nginx рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдореБрдЦреНрдп рдирд┐рдпрдо рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВред
рдиреЗрдЧрдиреЗрдХреНрд╕ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ - рдХреЛрд░ рдкреИрдЯрд░реНрдиред
рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЗрд╕реЗ рд░реВрд╕реА рдореЗрдВ рдХреИрд╕реЗ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдореИрдВ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдЖрдкрдХрд╛ рдЕрдиреБрд░реЛрдз рд╕реНрдерд╛рди рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрдХрд╛рд╢рдЧрдВрдЧрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдЦрд░рд╛рдм рд╣реИ, рддреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрд╛рдзрд┐рдд рд╣реИред



рдПрдирдЬреЗрдПрд╕ рдФрд░ рд▓реБрдЖ рдореЗрдВ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдпрд╛, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдирд┐рдХрдЯрддрдо рд╕рд╛рджреГрд╢реНрдп рдмреИрд╢ рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ:

grep -RI pool nginx | awk -F":" '{print $1}' | sort -u | wc -l 

рдХреЛрдб рдореЗрдВ, рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдЕрдЧрд░ AWK рд▓рд╛рдЗрди рдХреЗ рдмреАрдЪ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛, рддреЛ sort рдФрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред Nginx рдореЙрдбреНрдпреВрд▓ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдЪреНрдЪрд╛рдИ nginx рдореЗрдВ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдХреЛрдб рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреА рддрд░рд╣ рд╣реА рдХреНрд░реИрд╢ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рд╕реЗ рдирд╣реАрдВред

HTTP рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░


HTTP рдФрд░ nginx рд╡рд┐рднрд┐рдиреНрди PHASEs рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред

  • рдЪрд░рдг рд╣реИрдВрдбрд▓рд┐рдВрдЧ - PHASE рд╣реИрдВрдбрд▓рд░ ред
  • рдлрд┐рд▓реНрдЯрд░ - рдмреЙрдбреА / рд╣реЗрдбрд░реНрд╕ рдлрд┐рд▓реНрдЯрд░ ред рдпрд╣ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдпрд╛ рддреЛ рд╣реЗрдбрд░ рд╣реИ рдпрд╛ рдирд┐рдХрд╛рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
  • рд╕рдореАрдкрддрд╛ ред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЙрдХреНрд╕реА рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕, рдлрд╛рд╕реНрдЯрд╕реАрдЬреА_рдкрд╛рд╕, рдореЗрдореНрдХреЗрдб_рдкрд╛рд╕ рд╣реИрдВред
  • рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ - рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ ред рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЫреВрддрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЬреНрдпрд╛рджрд╛ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗрддрдорд╛ рдЪрд╛рд╢ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рд╕реБрд╕рдВрдЧрдд рд╣реИрд╢рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред

рдЪрд░рдг рд╕рдВрдЪрд╛рд▓рдХреЛрдВ


рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдЪрд░рдг рд╣реИрдВ, рдЬреЛ рдПрдХреНрд╕реЗрд╕ рдЪрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕реАрд╕реАрд╕ рдЪрд░рдг рдХреЛ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд┐рдЧрдиреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рд╕рддреНрдпрд╛рдкрдиред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдПрдХ рд╕реЗрд▓ рд╣реИред рдЪрд░рдг рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред



рдЕрдВрддрд┐рдо, рдЕрдВрддрд┐рдо рд╣реИрдВрдбрд▓рд░ рдХрдВрдЯреЗрдВрдЯ рдЪрд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдорд╛рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
рддрд░реАрдХрд╛ рд╣рдореЗрд╢рд╛ рдпрд╣ рд╣реЛрддрд╛ рд╣реИ: рдЕрдиреБрд░реЛрдз - рд╣реИрдВрдбрд▓рд░реНрд╕ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ - рдЖрдЙрдЯрдкреБрдЯ рд╕рд╛рдордЧреНрд░реАред
NGINX рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЪрд░рдг:

 typedef enum { NGX_HTTP_POST_READ_PHASE = 0, NGX_HTTP_SERVER_REWRITE_PHASE, NGX_HTTP_FIND_CONFIG_PHASE, NGX_HTTP_REWRITE_PHASE, NGX_HTTP_POST_REWRITE_PHASE, NGX_HTTP_PREACCESS_PHASE, NGX_HTTP_ACESS_PHASE, NGX_HTTP_POST_ACESS_PHASE, NGX_HTTP_PRECONTENT_PHASE, NGX_HTTP_CONTENT_PHASE, NGX_HTTP_LOG_PHASE, } ngx_http_phases; 

рдЪрд░рдгреЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЗрди рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдЧрд░ рдЖрдк рдирдЧрдиреЗрдХреНрд╕ рдХреЛрд░ рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрди рдореБрдЦреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред

рдореБрдЦреНрдп рдПрдХ ACCESS_PHASE рд╣реИред рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ nginx рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред

рдЕрдЧрд▓реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд░рдг рдЬрд┐рдирдХрд╛ рдореИрдВ рдЕрдХреНрд╕рд░ рд╢реЛрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ рд╡реЗ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЪрд░рдг рд╣реИрдВред PRECONTENT_PHASE рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкреНрд░рддрд┐рд╕рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореАрдЯреНрд░рд┐рдХ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред CONTENT_PHASE рдЖрдкрдХреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреА рдЕрдиреВрдареА рд╕рд╛рдордЧреНрд░реА рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЪрд░рдг рдЬреЛ рдореИрдВ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рд▓реЙрдЧрд┐рдВрдЧ рдЪрд░рдг LOG_PHASE рд╣реИред рд╕рдВрдпреЛрдЧ рд╕реЗ, ACCESS_LOG рдирд┐рд░реНрджреЗрд╢рди рдЗрд╕рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЙрдЧрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рд╡рд╛рдЗрд▓реНрдбреЗрд╕реНрдЯ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд░рддреЗ рд╣реИрдВ: рдЖрдк рд╕рдмрдХреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЖрдк рдХрд┐рд╕реА рднреА рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╛рдордЧреНрд░реА рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджреА рд╣реИ, рдФрд░ рд╣реИрдВрдбрд▓рд░, рдкреЛрд╕реНрдЯрд╣реИрдВрдбрд▓рд░ рдФрд░ рдХрд┐рд╕реА рднреА рдЙрдкрд╢реНрд░реЗрдгреА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рдХреНрдпреЛрдВ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рд▓реЙрдЧрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ nginx рдФрд░ Kafka рдХреЛ рдкрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╣реА рдкреВрд░рд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ: рд╕рд╛рдордЧреНрд░реА, рд╕реНрдерд┐рддрд┐, рд╕рднреА рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдкрд░рд┐рдХрд▓рд┐рдд рдЖрдХрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЙрдк-рд╡рд░реНрдЧ рдореЗрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╡реЗ рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХрд╛рдлреНрдХрд╛ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рдВрдЧ рдЪрд░рдг рдореЗрдВ рдирдВрдЧреЗ рд╕реЙрдХреЗрдЯ рдкрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдмреЙрдбреА / рд╣реЗрдбрд░реНрд╕ рдлрд┐рд▓реНрдЯрд░


рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдлрд┐рд▓реНрдЯрд░ рд╣реИрдВ: рдмреЙрдбреА рдлрд┐рд▓реНрдЯрд░ рдФрд░ рд╣реЗрдбрд░ рдлрд┐рд▓реНрдЯрд░ред

рдмреЙрдбреА рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ- gzip рдлрд╝рд┐рд▓реНрдЯрд░ рдореЙрдбреНрдпреВрд▓ред рдмреЙрдбреА рдлрд┐рд▓реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕ рд╣реИ, рдФрд░ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕реЗ рдореЗрдВ рдЖрдкрдХреЛ рдмреЙрдбреА рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдХрдИ рд╡рд┐рдЦрдВрдбреВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ, рдЖрдк рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рдлрд┐рд▓реНрдЯрд░ рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛рдПрдВ рднреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╢рд░реАрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдпрд╛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ HTTP рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдордЧреНрд░реА рдлрд╝реАрдб, рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЕрдЬреАрдм рдкреНрд░рднрд╛рд╡ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдк рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рд╣реЗрдбрд░ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг add_header рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╕рднреА рдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмреЙрдбреА рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ add_header рдлрд╝рд┐рд▓реНрдЯрд░ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рд╣реЗрдбрд░ рдЬреЛрдбрд╝реЗрдВ, рд╣реЗрдбрд░ рд╣рдЯрд╛рдПрдВ, рд╣реЗрдбрд░ рдХреЛ рдмрджрд▓реЗрдВ, рд╕рдмрд░реЗрдХреНрд╕реНрдЯ рднреЗрдЬреЗрдВред

рд╡реИрд╕реЗ, рдмреЙрдбреА рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдФрд░ рд╣реИрдбрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдЙрдк-рдЙрдкрд▓рдмреНрдзрд┐рдпрд╛рдБ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЖрдк рдЖрдВрддрд░рд┐рдХ рдкрд╣рдЪрд╛рди рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдкрд░ рднреА рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рддрд┐рдирд┐рдзрд┐


рдпрд╣ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдФрд░ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP рдХреЛ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ ред рдЙрджрд╛рд╣рд░рдг: рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕, рд░реЗрдбрд┐рд╕_рдкрд╛рд╕, рдЯреЗрдВрдЯ_рдкрд╛рд╕ред

рдкреНрд░реЙрдХреНрд╕реА рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрд┐рд╕реЗ nginx рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдкреНрд░реЙрдХреНрд╕реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд╢рд╛рд╕реНрддреНрд░реАрдп рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрд░реЙрдХреНрд╕реА PHASES рд╣реИрдВрдбрд▓рд░, рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП, Balancers рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЬрд┐рд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ HTTP рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рддреЛ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдкреНрд░реЙрдХреНрд╕реА рдПрдкреАрдЖрдИ рдЬреЛ рдирдЧрдиреЗрдХреНрд╕ рджреЗрддрд╛ рд╣реИ, рдмрд╕ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рдЦрд░реЛрдВрдЪ рд╕реЗ рдЗрд╕ рдкреНрд░реЙрдХреНрд╕реА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг postgres_pass рд╣реИред рдпрд╣ рдирд┐рдЧреНрдиреЗрдХреНрд╕ рдХреЛ PostgreSQL рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ nginx рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред
рдкреНрд░реЙрдХреНрд╕реА рдпрд╛рдж рд░рдЦреЗрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдорд╛рдирддрдГ рдирд╣реАрдВ рд▓рд┐рдЦреЗрдВред рдкреНрд░реЙрдХреНрд╕реА рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджрд┐рд▓ рд╕реЗ рд╕рднреА рдирдЧреЗрдВрдХреНрд╕ рдХреЛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ - рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдФрд░ рдХрдард┐рди рд╣реИред

рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рд▓реЛрдб рдХрд░реЗрдВ


рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдХрд╛ рдХрд╛рд░реНрдп рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЕрдиреБрднрд╛рдЧ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдЖрдк рд╡рдЬрд╝рди рдФрд░ рд╕рдВрддреБрд▓рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╣реИред

рдпрд╣ рдореЛрдб рд╣рдореЗрд╢рд╛ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЗрддрдорд╛ рдЪрд╛рд╢ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдХреБрдЫ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рд╣реИрд╢ рдЕрдиреБрд░реЛрдз рдкрд░ рдкрд╣реБрдВрдЪрдирд╛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдХрднреА-рдХрднреА рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдиреЗрдЧрдиреЗрдХреНрд╕ рд▓реБрдЖ рдмреИрд▓реЗрдВрд╕рд░_рдмреА_рд▓реБрдЖ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓реВрдЖ рдкрд░, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА рдмреИрд▓реЗрдВрд╕рд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

C рдореЙрдбреНрдпреВрд▓


рдЖрдЧреЗ C- рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдореЗрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд░рд╛рдп рд╣реЛрдЧреАред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдирд┐рдпрдоред

рдореЙрдбреНрдпреВрд▓ nginx.conf рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдПрдХ рд╕реА-рдореЙрдбреНрдпреВрд▓ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЖрдкрдХреА рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ рд╣рдореЗрд╢рд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред рдЙрдирдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдЧрд╛ред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдЙрд╕рдХреЗ рд╕рд╛рде рдпрд╛ рдЖрдкрдХреЗ рд╕реА-рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░реЗрдВред NGINX рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдЙрддреНрдкрд╛рдж рд╣реИ, рдЗрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреБрдЫ рдХрд╛рдиреВрдиреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирдВрдЧреЗрдХреНрд╕ рдХреЛрдб рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдореЙрдбреНрдпреВрд▓ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА nginx рдФрд░ рдЗрд╕рдХреА рдХреЛрдб рд╢реИрд▓реА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рддреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЬрд░реНрдордиреА рдХреЗ рдПрдХ рдЕрдЪреНрдЫреЗ рджреЛрд╕реНрдд рдиреЗ рдореБрдЭреЗ рдЕрдкрдиреЗ рдирдЧреНрдиреЗрдХреНрд╕ рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдПрдХ рдмрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ рдХрд┐рд╕ рдХреЛрдб рд╢реИрд▓реА рдХреЛ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЛрдб рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛ рдерд╛ред

рд╕рд╣реА рдореЗрдореЛрд░реА рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВ, рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдиреБрднрд╡ рд╣реЛред рдирдЧреНрдиреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╕реА рдореЙрдбреНрдпреВрд▓ рдбреЗрд╡рд▓рдкрд░ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд▓рддреА рдЧрд▓рдд рдкреВрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред

рдереЛрдбрд╝реА рд╕реА рдкреГрд╖реНрдарднреВрдорд┐: nginx рдЖрдо рддреМрд░ рдкрд░ рдХрдордЬреЛрд░ рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╡рд╣рд╛рдВ рдореЙрд▓реЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрдкрдиреЗ рд╕реНрд▓реИрдм рд╣реИрдВ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рд╣реИрдВ, рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдкреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИ, рдФрд░ рдЗрд╕ рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдиреМрд╕рд┐рдЦрд┐рдП рдЧрд▓рддреА рд╣реЗрдбрд░ рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рдПрдХ рдкреВрд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рди рдХрд┐ рдкреВрд▓ рдЕрдиреБрд░реЛрдзред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЬреАрд╡рд┐рдд-рдЬреАрд╡рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╣реИ, рддреЛ рдкреВрд▓ рддрдм рддрдХ рд╕реВрдЬ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдореЗрдореЛрд░реА рдпрд╛ рдЕрдиреНрдп рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред Valgrind ("syshniks" рд╕рдордЭ рдЬрд╛рдПрдЧрд╛) рд╕реНрд▓реИрдм рдЖрд╡рдВрдЯрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рдЕрдЬреАрдм рддрд╕реНрд╡реАрд░ рджрд┐рдЦрд╛рдПрдЧрд╛ред

рдЕрд╡рд░реЛрдзрдХ I / O рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд▓рддреА рдЬреЛ рдХреБрдЫ рдмрд╛рд╣рд░реА рддреЗрдЬреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрд╡рд░реБрджреНрдз I / O рдФрд░ рдЕрд╡рд░реБрджреНрдз рд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдирдЧреНрдиреЗрдХреНрд╕ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЗрд╕рдореЗрдВ рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдзрд╛рдЧреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

рдЖрдк рдорд▓реНрдЯреА-рдереНрд░реЗрдбрд┐рдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕реЗ рдмрджрддрд░ рдмрдирд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ I / O рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рд░ рдХреЛрдИ рдЗрд╕ рдЕрд╡рд░реБрджреНрдз рдЯреБрдХрдбрд╝реЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдЬреЛ рдХрд╣рд╛, рдЙрд╕реЗ рдореИрдВ рд╕рдордЭреВрдВрдЧрд╛ред

рдореЙрдбреНрдпреВрд▓ nginx.conf рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

рддрдп рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП: рдореБрдЦреНрдп, рд╕рд░реНрд╡рд░, рдПрдЪрдЯреАрдЯреАрдкреА, рд╕реНрдерд╛рди, рд╕реНрдерд╛рдиред
рд╕реНрдерд╛рди рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдпрджрд┐ - рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдирдЧрдгрдХреНрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╣реБрдд рдЕрдЬреАрдм рдЙрдкрдпреЛрдЧ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

рдирдЧреАрдиреЗрдХреНрд╕ рдореЗрдВ рд╕рднреА рдирд┐рд░реНрджреЗрд╢ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд╛рдпрд░реЗ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред Add_header рдирд┐рд░реНрджреЗрд╢ HTTP-рд╕реНрддрд░ рдкрд░, рд╕реНрдерд╛рди-рд╕реНрддрд░ рдкрд░, рд╕реНрдерд╛рди-рдпрджрд┐-рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред
рд╕рдордЭреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдирд┐рд░реНрджреЗрд╢ рдХрд┐рд╕ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдирд┐рд░реНрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: PHASE рд╣реИрдВрдбрд▓рд░, рдмреЙрдбреА / рд╣реИрдбрд░ рдлрд╝рд┐рд▓реНрдЯрд░ред
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ nginx рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧ рдЬрдо рдЧрдпрд╛ рд╣реИред рдЕрдзрд┐рд╡реЗрд╢рди рджреНрд╡рд╛рд░рд╛, рдЬрдм рдЖрдк рдКрдкрд░ рдХрд╣реАрдВ рдФрд░ add_header рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдорд╛рди рдиреАрдЪреЗ add_header рдореЗрдВ рд╕реБрдЪрд╛рд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдЖрдк рджреЛ рд╣реЗрдбрд░ рдЬреЛрдбрд╝реЗрдВрдЧреЗред рдпрд╣ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд - рд╕реЙрдХреЗрдЯреНрд╕ рдХрд╛ рдкреВрд▓ред рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдХрд┐рд╕реА рднреА рд╡рд┐рд▓рдп рдХреЛ рдордирд╛ рдХрд░реВрдВрдЧрд╛ - рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢ рдпрд╛ рдЬреАрд╡рди рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдирдВрдЧреЗрдХреНрд╕ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд╣реИрдВред

рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг:

 location /my_location/ { add_header тАЬMy-HeaderтАЭ тАЬmy valueтАЭ; } 

рдпрд╣рд╛рдБ add_header рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдерд╛рди рдкрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рд╣реА add_header рдКрдкрд░ рдХрд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╕ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рдкреНрд░рд▓реЗрдЦрд┐рдд рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреНрдпрд╛ рдмрд╛рдзрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк рдПрдХ рдмреЙрдбреА рдлрд┐рд▓реНрдЯрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рдирдЧрдиреЗрдХреНрд╕ рд╕рд┐рд░реНрдл рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдЖрдкрдХреЗ рдмреЙрдбреА рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рдордиреЗ рдЧрдЬрд╝рд┐рдк рдореЙрдбреНрдпреВрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ gzip рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ gzip рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдореЙрдбреНрдпреВрд▓ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдзрдордХреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ gzip рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди CPU рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рдПрдХ рдордЬрд╝рд╛рдХ рд╣реИред

рд╕рднреА рдЪрд░рдг рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдкрд░ рд╕рдорд╛рди рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ - рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕реЗ рдкрд╣рд▓реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВред рдЗрд╕рд▓рд┐рдП, рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреБрдЫ рдЧрдЬрд╝рд┐рдк рдпрд╛ рдХреБрдЫ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдбрд╝рд╛рди рднрд░ рд╕рдХрддрд╛ рд╣реИред

Nginx рдХреЛрдб рд╢реИрд▓реА


рдЬрдм рдЖрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдмрдирд╛рдпрд╛, рддреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреЛрдИ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ред рдХреЛрдб рд╢реИрд▓реА nginx рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред
рдЕрдкрдиреЗ nginx рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕реНрд░реЛрдд рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдПрдВ: рдПрдХ рдФрд░ рджреВрд╕рд░рд╛ ред

рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖрдк рдирдЧрдиреЗрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирдЧреАрдиреЗрдХреНрд╕ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд╛рдХрд┐рдл рд╣реЛрдВрдЧреЗред рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЖрдк рдЙрдирд╕реЗ рдкреНрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЖрдк nginx рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реАрдЦреЗрдВрдЧреЗ, Grep рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрднрд╡рддрдГ Sed, рдЬрдм рдЖрдкрдХреЛ рдХреБрдЫ рдЯреБрдХрдбрд╝реЗ nginx рд╕реЗ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореЗрдореЛрд░реА рдкреВрд▓


рддрд╛рд▓ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "r-> рдХрдиреЗрдХреНрд╢рди-> рдкреВрд▓! = R-> рдкреВрд▓"ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рд╕реНрдореГрддрд┐ рдкреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдз, рдпрд╣ рддрдм рддрдХ рдкреНрд░рдлреБрд▓реНрд▓рд┐рдд рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдирдЧреНрдиреЗрдХреНрд╕ рдкреБрдирд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред

рд╡рд╕реНрддреБ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХреЛ рд╕рдордЭреЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЕрдиреБрд░реЛрдз рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реИред рдЗрд╕ рдкреВрд▓ рдореЗрдВ рдЖрдк рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдорд░рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рд░рд╣ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬ рдХреЛ рдЬрдЧрд╣ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдмрд╛рд╣рд░реА рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЙрд▓реЛрдХ / рдореБрдХреНрдд ред рдЗрд╕рд╕реЗ рдореЗрдореЛрд░реА рдлрд╝реНрд░реЗрдЧреНрдореЗрдВрдЯреЗрд╢рди рдкрд░ рдмреБрд░рд╛ рдЕрд╕рд░ рдкрдбрд╝рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЙрд▓реЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирдЧреНрдиреЗрдХреНрд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

Valgrind рдХреЗ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ Valgrind рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ nginx-pool рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ nginx рдкрд░ рдмрд╣реБрдд рд╕реА рдХреЛрдб рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдореГрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░ рднреА рдЧрд▓рддреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрд╡рд░реЛрдзрдХ I / O

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдЕрд╡рд░реБрджреНрдз I / O рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред
рдЕрдиреНрдпрдерд╛, рдХрдо рд╕реЗ рдХрдо рд░рдЦ-рд░рдЦрд╛рд╡ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреА, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрддрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

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

рд▓реЗрдХрд┐рди рд╕реА-рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдПрдирдЬреЗрдПрд╕ рдФрд░ рд▓реБрдЖред

рдЬрдм рдЖрдкрдХреЛ рд╕реА-рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ


рдЗрд╕ рд╕рд╛рд▓ рдореБрдЭреЗ рдПрдирдЬреЗрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рдерд╛, рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдЫрд╛рдк рдорд┐рд▓реА, рдФрд░ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рднреА рд╣реБрдЖ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдЧрд╛рдпрдм рдерд╛, рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПред рдореИрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдиреВрдиреЗрдХреНрд╕ рдХреЗ рддрд╣рдд рд▓реВрдЖ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛, рдФрд░, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓реВрдЖ рдореЗрдВ рдореМрдЬреВрдж рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ред

Lua / LuaJit рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ


Nginx Lua рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди LuaJit рдХрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ Lua рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Lua рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЙрдиреНрдирдд рдХрд░ рдЪреБрдХрд╛ рд╣реИ, рдФрд░ LuaJit рдЕрддреАрдд рдореЗрдВ рдХрд╣реАрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реИред рд▓реЗрдЦрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд▓реБрдЬрд┐рдЯ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рд╡рд╣ рдЕрдХреНрд╕рд░ рдХрд╛рдВрдЯреЗ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рдВрдЯрд╛ LuaJit2 рд╣реИ ред рдпрд╣ рдЙрд╕реА OpenResty рдореЗрдВ рдЕрдЬреАрдм рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдХрдЪрд░рд╛ рдмреАрдирдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ ред LuaJit рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдмрд╕ рдХреБрдЫ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред рдПрдХ рдмрдбрд╝реЗ рднрд╛рд░ рдХреЗ рд╕рд╛рде, рдЬрдм рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЧрд╛рд░реНрдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЪрд╛рд░реНрдЯ рдкрд░ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдФрд░ 500 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рд▓реБрдЖ рдореЗрдВ рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдореИрдВ рдпрд╣рд╛рдВ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ ред рдпрд╣ рд▓реБрдЖрдЬреАрдд рдХреА рдмреБрд░рд╛рдИ рд╣реИ, рдФрд░ рд▓реБрдЖ рдореЗрдВ рдЗрд╕рдХреА рдорд░рдореНрдордд рдХреА рдЧрдИ рдереАред LuaJit рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЛ рдзрддрд╛ рдмрддрд╛рддрд╛ рд╣реИред рд░реЗрдЦрд╛рдПрдВ рдмреЗрддрд╣рд╛рд╢рд╛ рддрд░реАрдХреЗ рд╕реЗ рдзреАрдореА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИред

рдХрдИ рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ ред Lua рд╢реБрд░реВ рдореЗрдВ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП Lua рдФрд░ LuaJit рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрд╡рд░реБрджреНрдз I / O рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдирд┐рдЧреНрдиреЗрдХреНрд╕ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИ, рдирдЧреАрдирдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдЕрд╡рд░реБрджреНрдз I рдпрд╛ O рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдирдЧреАрдирдХреНрд╕ рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрдЧрд╛ред

LuaJit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ:

  • рдЬрдЯрд┐рд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк;
  • HMAC, рдкреНрд░рд╛рдзрд┐рдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП SHA рдХреА рдЧрдгрдирд╛;
  • рдмреИрд▓реЗрдВрд╕рд░реНрд╕ ;
  • рдЫреЛрдЯреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ: рд╣реЗрдбрд░ рд╣реИрдВрдбрд▓рд░, рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЗ рдирд┐рдпрдо;
  • nginx.conf рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЪрд░ред

LuaJit рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдХрд╣рд╛рдВ рдмреЗрд╣рддрд░ рд╣реИ?
рдореБрдЦреНрдп рдирд┐рдпрдо: рд▓реБрдЖ рдкрд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдирд┐рдХрд╛рдп рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд▓реБрдЖ рдкрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ ред рдХреБрдЫ if рддрд░реНрдХ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд▓реБрдЖ рдкрд░ рдПрдХ рд╕рд╛рдЗрдбрдмрд╛рд░ рдмрд╣реБрдд рдЦрд░рд╛рдм рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдпрд╛ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдЖрдПрдЧрд╛ред рд▓реБрдЖ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ - рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдЬрд▓реНрджреА рдФрд░ рдЧрд╛рд░рдВрдЯреА рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред

рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдЦ-рд░рдЦрд╛рд╡ рд╡рд╛рд▓реЗ рдпреМрдЧрд┐рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрд░рдЯрд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ ред рд▓реЙрдЬрд┐рдЯ рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рдЕрдВрджрд░ рдХреЛрд░рд╛рдЯреАрди рдФрд░ рднреА рдЕрдзрд┐рдХ рдХрдЪрд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЦрд░рд╛рдм рд╣реИред

рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА LuaJit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╛рдж рд░рдЦреЗрдВ:

  • рд╕реНрдореГрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ;
  • рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рдХрд╛рдо рдХреА рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рдЕрдиреБрдХреВрд▓рди рдкрд░;
  • рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдиреЗ LuaJit рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЯрд┐рд▓ рдЖрд╡реЗрджрди рд▓рд┐рдЦрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдирдпрд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред

NJS


рдЬрдм рдореИрдВ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдХреЙрдиреНрдлрд┐рдбреЗрдВрд╕ рдореЗрдВ рдерд╛, рддреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдХрд┐ рд╕реА рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рд╣реЛрдЧреА, рдФрд░ рдпрд╣реА рдореБрдЭреЗ рдорд┐рд▓рд╛ред

рдкреНрд░рд╛рдзрд┐рдХрд░рдгред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреЛрдб рд╕рд░рд▓ рд╣реИ, рдпрд╣ рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рд╕рдм рдХреБрдЫ рдорд╣рд╛рди рд╣реИред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореЗрд░рд╛ рдЫреЛрдЯрд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛрдб рдХреА 10 рд▓рд╛рдЗрдиреЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпреЗ 10 рд▓рд╛рдЗрдиреЗрдВ s3 рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд░рддреА рд╣реИрдВред

Nginx.conf рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЪрд░ред рдПрдирдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рдЪрд░ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдЕрдВрджрд░, рдпрд╣ рд╢рд╛рдВрдд рд╣реИред рд▓реБрдЖ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдПрдирдЬреЗрдПрд╕ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА ред рдореИрдВрдиреЗ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХреЛ рдкреИрдЪ рдХрд┐рдпрд╛, рдпрд╣ рдореЗрд░рд╛ рдЕрдкрдирд╛ рдХрд╛рдВрдЯрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЕрдзрд┐рдХ рдЪрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд┐рд▓реНрдЯрд░ ред рдПрдирдЬреЗрдПрд╕ рдореЗрдВ, рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдЪрд░рдг рдФрд░ рдЪрд░ рд╣реИрдВ, рдФрд░ рд╣реЗрдбрд░ рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рдмрд╣реБрдд рдХрдореА рд╣реИред рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрд╕рд╛рдЦреА рд▓рд┐рдЦрдиреА рд╣реЛрдЧреАред рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдпрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╢рд░реАрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рд╣реИред

рдЗрд╕реЗ рдХреИрд╕реЗ рдореЙрдирд┐рдЯрд░ рдФрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА ред рдореБрдЭреЗ рдЕрдм рдкрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕реНрд░реЛрдд рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдерд╛ред рдЙрдЪрд┐рдд рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рд╣реИ, рддреЛ рдпрд╣ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ рдЬрд╣рд╛рдВ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдЙрд╕реА рдмрд┐рдВрджреБ рдкрд░, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдПрдирдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдХрд╣рд╛рдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рд╕реА-рдореЙрдбреНрдпреВрд▓ ред рдореБрдЭреЗ NJS рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдЗрдЪреНрдЫрд╛ рдереАред

рдЕрдВрддрднрд╛рд╖рдг


рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреНрдпреЛрдВ рдмрдирд╛рдПрдВ? рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореБрдЭреЗ C рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрдм рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рднрд╛рд░реА рднрд╛рд░, рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╕рдореНрдорд┐рд▓рди рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдмреБрдирд┐рдпрд╛рджреА рдмрдЪрддред рдлрд┐рд░ рд╕реА рдореЗрдВ рдЗрд╕рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓реБрдЖ рдпрд╛ рдПрдирдЬреЗрдПрд╕ рдЙрдкрдпреБрдХреНрдд рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЖрдЧреЗ рдХреА рд╕реЛрдЪрдиреА рдЪрд╛рд╣рд┐рдПред

рдФрд░ рд▓реБрдЖ рдкрд░? рдЬрдм рдЖрдк рд╕реА рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рд╢рд╛рд▓ рдЖрд░рдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдЖрдк рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░реЗрдВрдЧреЗ - рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред

NJS? рдЬрдм LuaJit рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдФрд░ рддрд╛рд░ рд╕реЗ рддрдВрдЧ рдЖ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдиреЗ рд▓реБрдЖ рдкрд░ рдХрдИ рдХрдЪрд░рд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рдХрд╖реНрдЯрдкреНрд░рдж рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реБрдЖред рдЕрдм рдпрд╣ рдореЗрд░реА рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред

HighLoad ++ 2019 рдореЗрдВ, рд╡рд╛рд╕рд┐рд▓реА рд╕реЛрд╢рдирд┐рдХреЛрд╡ рдиреЗ nginx рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрд╛ рдФрд░ NJS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХреА , LuaJit рдФрд░ C рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреЛ рдирд╣реАрдВ рднреВрд▓рдирд╛ред

рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреЗрдЦреЗрдВ, рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╕рдореНрдореЗрд▓рди рдореЗрдВ 7 рдФрд░ 8 рдирд╡рдВрдмрд░ рдХреЛ рджреЗрдЦреЗрдВред рдиреНрдпреВрдЬрд╝рд▓реЗрдЯрд░ рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред

Source: https://habr.com/ru/post/hi471684/


All Articles