рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЬреАрд╡рди рдореЗрдВ, рд╡рд╣ рд╕рдордп рдЖрддрд╛ рд╣реИ рдЬрдм рд╕рд░реНрд╡рд░ рдПрд╕рдПрд▓рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рд╕рдЪрдореБрдЪ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЕрдбрд╝рдЪрди, рднрд╛рд░реА рдкреНрд░рд╢реНрдиреЛрдВ, рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдЕрдиреБрдХреНрд░рдорд┐рдд, рдЧреИрд░-рдХреИрд╢реНрдб рдбреЗрдЯрд╛ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдмрд╣реБрдд рдмрд╛рд░ рдХреИрд╢ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреНрдп рдЕрдВрдзреЗрд░реЗ рдкрдХреНрд╖реЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
рд▓реЗрдХрд┐рди рдЬрдм рдЖрдкрдХрд╛ рдХреЛрдб "рд╕рд╣реА" рд╣реЛ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ, рд╕рднреА рднрд╛рд░реА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рднреА рд╕рдВрднрд╡ рдерд╛ рд╡рд╣ рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕рд░реНрд╡рд░ рдЕрднреА рднреА рдПрд╕рдПрд▓рдП рд╕рдВрдХреЗрддрдХ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдирдИ рдХрд╛рд░ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕рд░реНрд╡рд░ рдЕрдзрд┐рдХ рд╕рдХреНрд╖рдо рд╣реИ, рдпрд╛ рдХреЛрдИ рдЬрд╛рджреВ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рд╕рд╛рдЗрдЯ рдХреЛ 100 рдЧреБрдирд╛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирдЧрдиреЗрдХреНрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдЗрдП рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
Nginx рдХреИрд╢ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
Nginx рдХреИрд╢ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдХреЗ рд▓рд┐рдП HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп, рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд┐рдирд╛ рдХреИрд╢ рд╕реЗ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред рдХреИрд╢рд┐рдВрдЧ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЫреЛрдЯреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рдХрд░реЗрдЧрд╛ред
рдирдЧрдиреЗрдХреНрд╕ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "ngx_http_proxy_module" рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗред
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "/etc/nginx/conf.d/cache.conf"ред рдЖрдЗрдП рдкреНрд░реЙрдХреНрд╕реА_рдХреИрдЪреЗ_рдкрде рдирд┐рд░реНрджреЗрд╢ рдХреЛ рджреЗрдЦреЗрдВ, рдЬреЛ рдЖрдкрдХреЛ рдХреИрд╢ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
proxy_cache_path /var/lib/nginx/proxy_cache levels=1:2 keys_zone=proxy_cache:15m max_size=1G;
"/ рд╡рд╛рд░ / рд▓реАрдм / nginx /xy_cache" рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╢ рд╕рдВрдЧреНрд░рд╣рдг рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИ рдХрд┐ nginx рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рдирдЧреНрдиреЗрдХреНрд╕ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХреИрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рдмрдирд╛рдПрдЧрд╛, рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
"рд╕реНрддрд░ = 1: 2" - рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕реНрддрд░ рдХреЛ рдХреИрд╢ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдШреЛрдВрд╕рд▓реЗ рдХрд╛ рд╕реНрддрд░ ":" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 2 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА, рдХреБрд▓ 3 рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕реНрддрд░ рдЕрдиреБрдореЗрдп рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП, 1 рд╕реЗ 2 рддрдХ рдорд╛рди рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдмрджрд▓реЗ рдореЗрдВ, рдХреИрд╢ рдХреБрдВрдЬреА рд╕реЗ md5 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ; рд╣рдо рдХреИрд╢ рдХреБрдВрдЬреА рдХреЛ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рджреЗрдЦреЗрдВрдЧреЗред
рдЖрдЗрдП рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╢ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдорд╛рд░реНрдЧ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
/var/lib/nginx/proxy_cache/2/49/07edcfe6974569ab4da6634ad4e5d492
"Keys_zone =xy_cache: 15m" рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рдЬрд╝реЛрди рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рднреА рд╕рдХреНрд░рд┐рдп рдХреБрдВрдЬреА рдФрд░ рдЙрди рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред "рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ:" рдПрдордмреА рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдирдЧреАрдиреЗрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, 1 рдПрдордмреА 8 рд╣рдЬрд╛рд░ рдХреБрдВрдЬреА рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
"Max_size = 1G" рдКрдкрд░ рдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдХреИрд╢ рдЖрдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ nginx рдХрдо рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред
рдХреИрд╢ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП "рдкреНрд░реЙрдХреНрд╕реА_рдХреИрдЪ_рдкреИрде" рдирд┐рд░реНрджреЗрд╢ рдХреЗ "рдирд┐рд╖реНрдХреНрд░рд┐рдп" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 10 рдорд┐рдирдЯ рд╣реИред рдпрджрд┐ "рдирд┐рд╖реНрдХреНрд░рд┐рдп" рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдХреИрд╢ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреЙрд▓ рдирд╣реАрдВ рдереЗ, рддреЛ рдпрд╣ рдбреЗрдЯрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдХреИрд╢ "рдЦрдЯреНрдЯрд╛" рди рд╣реЛред
рдпрд╣ рдХреИрд╕рд╛ рдХреИрд╢ рд╣реИ? рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд▓рд┐рдЦреА рдЧрдИ рд╣реИ:
тАв рдХреИрд╢ рдХреБрдВрдЬреА;
тАв рдХреИрд╢ рд╣реЗрдбрд░;
тАв рдмреИрдХрдПрдВрдб рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред
рдпрджрд┐ рд╣реЗрдбрд░ рдФрд░ рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ "рдХреИрд╢ рдХреБрдВрдЬреА" рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рд╢реНрди рд╣реИрдВред рдпрд╣ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдирдЧреАрдирдХреНрд╕ рдореЗрдВ рдХреИрд╢ рдХреБрдВрдЬреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫрджреНрдо_рдХреА_ рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирдЧреАрдирдХреНрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд┐рд╕реА рднреА рдЪрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
proxy_cache_key $request_method$host$orig_uri:$cookie_some_cookie:$arg_some_arg;
рдХреБрдХреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмреАрдЪ ":" рдкреНрд░рддреАрдХ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╢ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЯрдХрд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдЕрдкрдиреА рдкрд╕рдВрдж рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░рддреАрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, nginx рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
proxy_cache_key $scheme$proxy_host$request_uri;
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ:
xy_cache_valid - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрд╢рд┐рдВрдЧ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 200, 302, 404, рдЖрджрд┐, рдпрд╛ "рдХрд┐рд╕реА рднреА" рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдХреЗрд╡рд▓ рдХреИрд╢рд┐рдВрдЧ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ nginx рдХреЗрд╡рд▓ 200, 301 рдФрд░ 302 рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдЧрд╛ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
proxy_cache_valid 15m; proxy_cache_valid 404 15s;
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдХреИрд╢ рдЬреАрд╡рдирдХрд╛рд▓ рдХреЛ 200, 301, 302 рдХреЗ рд▓рд┐рдП 15 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ (nginx рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХреА рдереА)ред рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдиреЗ рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рд╕рдордп 15 рд╕реЗрдХрдВрдб рддрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛, рдХреЗрд╡рд▓ 404 рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред
xy_cache_lock - рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рдХреИрд╢ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдмреИрдХрдПрдВрдб рдкрд░ рдХрдИ рдкрд╛рд╕ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдмрд╕ "рдСрди" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорд╛рди рд╕реЗрдЯ рдХрд░реЗрдВред рдЕрдиреНрдп рд╕рднреА рдЕрдиреБрд░реЛрдз рдХреИрд╢ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ, рдпрд╛ рдкреГрд╖реНрда рдкрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордпрд╕реАрдорд╛ред рддрджрдиреБрд╕рд╛рд░, рд╕рднреА рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
xy_cache_lock_age - рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХреИрд╢ рдХреЗ рд╕реЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЕрдиреБрд░реЛрдз рдЗрд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 5 рд╕реЗрдХрдВрдб рд╣реИред
рдкреНрд░реЙрдХреНрд╕реА_рдХреИрд╢реЗ_рд▓реЙрдХ_рдЯрд╛рдЗрдо - рд▓реЙрдХ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп
рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдмреИрдХрдПрдВрдб рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 5 рд╕реЗрдХрдВрдб рд╣реИред
xy_cache_use_stale - рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдирд┐рд░реНрджреЗрд╢ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛрдиреЗ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
proxy_cache_use_stale error timeout updating;
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд░рд╛рдиреА рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд░рд╣рд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ, рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдпрджрд┐ рдХреИрд╢ рдХрд╛ рдбреЗрдЯрд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдордп рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
xy_cache_bypass - рдЙрди рд╢рд░реНрддреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рддрд╣рдд nginx рдХреИрд╢ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдмреИрдХрдПрдВрдб рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рддреБрд░рдВрдд рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ рдФрд░ "0" рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
proxy_cache_bypass $cookie_nocache $arg_nocache;
xy_no_cache - рд╡рд╣ рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рддрд╣рдд nginx рдмреИрдХрдПрдВрдб рд╕реЗ рдХреИрд╢ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд╣реАрдВ рдмрдЪрд╛рдПрдЧрд╛ред рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдкреНрд░реЙрдХреНрд╕реА_рдХреЗрдЪ_рдмрд┐рдкрд╛рд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдкреЗрдЬ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде, nginx рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЗрдбрд░ рдмрдЪрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдПрдХ рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рддреЛ рд╕рддреНрд░ рдХреБрдХреА рднреА рдХреИрд╢ рдХреА рдЬрд╛рдПрдЧреАред рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЙрд╕ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдХреИрд╢ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдереЗ, рд╕рддреНрд░ рдореЗрдВ рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред
рдЕрдЧрд▓реА рдЪреБрдиреМрддреА рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рд╣реЛрдЧреА, рд╡рд╣ рд╣реИ рдХреИрд╢рд┐рдВрдЧ рдкреНрд░рдмрдВрдзрдиред рдмреЗрд╢рдХ, рдЖрдк 2-5 рдорд┐рдирдЯ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рд╣реАрди рдХреИрд╢ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреА рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдордЬрдмреВрдд рдХрд░реЗрдВрдЧреЗред рдЕрдм, рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред
рдХреБрдХреА рд╕рдВрд░рдХреНрд╖рдг рдкреНрд░рдмрдВрдзрдирдирдЧреАрдирдХреНрд╕ рдкрдХреНрд╖ рдкрд░ рдХреИрд╢рд┐рдВрдЧ рдХреБрдЫ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреИрд╢реНрдб рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреИрдХрдПрдВрдб рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рдмреИрдХрдПрдВрдб рджреНрд╡рд╛рд░рд╛ рдПрдХ рдФрд░ рд╕реАрдорд╛ рдХреБрдХреАрдЬрд╝ рдХреА рдбрд┐рд▓реАрд╡рд░реА рд╣реИред рдЪреВрдВрдХрд┐ рдирдЧрдиреЗрдХреНрд╕ рд╕рднреА рд╣реЗрдбрд░ рдХреЛ рдХреИрд╢ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреИрд╢ рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╕рддреНрд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреИрд╢реНрдб рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдХреАрдЬрд╝ рдХреЗ рд╡рд┐рддрд░рдг рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЫрджреНрдо_рдЧреЛрд░_рд╣реЗрдбрд░реНрд╕ рдирд┐рд░реНрджреЗрд╢ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░реЗрдВрдЧреЗред рддрд░реНрдХ рд╣реЗрдбрд░ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмреИрдХрдПрдВрдб рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
proxy_ignore_headers "Set-Cookie";
рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде, рд╣рдо рдЕрдиреБрдорд╛рдирд┐рдд рд╕рд░реНрд╡рд░ рд╕реЗ рдХреБрдХреАрдЬрд╝ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "рд╕реЗрдЯ-рдХреБрдХреАрдЬрд╝" рд╣реЗрдбрд░ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред рддрджрдиреБрд╕рд╛рд░, рд╕рдм рдХреБрдЫ рдЬреЛ рдХрд┐ рдХреБрдХреА рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░рдирд╛ рдерд╛ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдХреБрдХреА рдкреНрд░рддрд┐рдмрдВрдз рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╣реЗрдбрд░ рдЗрдЧреНрдирд┐рд╢рди рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рддреНрд░ рдХреБрдХреА рдкреНрд░рд╛рдкреНрдд рд╣реЛред
рдЖрдкрдХреЛ рд╕рддреНрд░ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХреЛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ php.ini рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ "
session.gc_maxlifetime " рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ рдФрд░ рд╕рдорд╛рдЪрд╛рд░ рдлрд╝реАрдб рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд╕рднреА рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирдЧрдиреЗрдХреНрд╕ рдХреИрд╢ рдореЗрдВ рд╣реИред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдиреЛрдЯрд┐рд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЙрд╕рдХрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╕рдордп рд╡рд╣ рд╕рднреА рд╕рд╛рдЗрдЯ рдкрд░ рдерд╛, рд╕рдорд╛рдЪрд╛рд░ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ nginx рдиреЗ рдмреИрдХрдПрдВрдб рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдмрд┐рдирд╛ рдХреИрд╢ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛ рджрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдмреИрдХрдПрдВрдб рдиреЗ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдерд╛ рдФрд░ "
session.gc_maxlifetime " рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рдмрд╛рдж рд╕рддреНрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмреИрдХрдПрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ рдЬреЛ рдмреИрдХрдПрдВрдб рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реЛрдЧреАред рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдирдЧрдиреЗрдХреНрд╕ рдХреИрд╢ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ POST рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ, рдЖрдк "рдкреНрд░реЙрдХреНрд╕реА_рдХреИрд╢реЗ_рдмрд┐рдкрд╛рд╕" рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рднреА рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╕ рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХреБрдЫ рд╡рд╛рдкрд╕ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХрд▓ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рд░рд╣рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕рддреНрд░ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реИ, рдФрд░ nginx рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреИрд╢реНрдб рдбреЗрдЯрд╛ рджреЗрддрд╛ рд╣реИред
рдХреИрд╢ рдлреНрд▓рд╢ рдкреНрд░рдмрдВрдзрдирдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдо рдХрд┐рд╕ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рдЦреЗрд▓ рд╕реНрдкрд░реНрдзрд╛рдУрдВ рдХреЗ рдкрд╛рда рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЦрдВрдб рд╣реИред рдЬрдм рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдХреИрд╢ рд╕реЗ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдирдП рд╕рдВрджреЗрд╢ рд╕реЙрдХреЗрдЯ рдкрд░ рдЖрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╣рд▓реЗ рдмреВрдЯ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрджреЗрд╢ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрдЬрд╛рдп 15 рдорд┐рдирдЯ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп nginx рдХреИрд╢ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдирдЧрдгрдХреНрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рдорд╢реАрди рдкрд░ рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд░реАрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдХреИрд╢ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреАред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдЗрдП рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдирдЧреНрдиреЗрдХреНрд╕ рдмреЙрдХреНрд╕ рд╕реЗ рдХреНрдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХреИрд╢ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, nginx рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢ рд╣реИ, рдЬрд┐рд╕реЗ "xy_cache_purge "рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреИрд╢ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рдд рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд░реЗрдЦрд╛ рд╣реИ, рдЬреЛ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ рдФрд░ "0" рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд╛рд░рд┐рдд рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдХреИрд╢ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
proxy_cache_path /data/nginx/cache keys_zone=cache_zone:10m; map $request_method $purge_method { PURGE 1; default 0; } server { ... location / { proxy_pass http://backend; proxy_cache cache_zone; proxy_cache_key $uri; proxy_cache_purge $purge_method; } }
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрдзрд┐рдХрд╛рд░рд┐рдХ nginx рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред$ Purge_method рд╡реИрд░рд┐рдПрдмрд▓ рдХреИрд╢ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЬреЛ рдкреНрд░реЙрдХреНрд╕реА_cache_purge рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд░реНрдд рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 0 рдкрд░ рд╕реЗрдЯ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдирдЧрдиреЗрдХреНрд╕ "рд╕рд╛рдорд╛рдиреНрдп" рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЕрдиреБрд░реЛрдз рд╡рд┐рдзрд┐ рдХреЛ "PURGE" рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреИрд╢ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдЙрд╕реА рдХреИрд╢рд┐рдВрдЧ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреИрд╢ рдХреБрдВрдЬреА рдХреЗ рдЕрдВрдд рдореЗрдВ "*" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд▓реЛрдкрди рдореБрдЦреМрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рдХреИрд╢ рдХреЗ рд╕реНрдерд╛рди рдФрд░ рдХреБрдВрдЬреА рдЧрдарди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдирдЧреНрдиреЗрдХреНрд╕ рдЗрди рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЛ рд▓реЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВред
- рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЫрджреНрдо_рд╢реЗрд╖_рдкреБрд░реБрд╖ рдирд┐рд░реНрджреЗрд╢ рдЙрдкрд▓рдмреНрдз рд╣реИред
- рдХреЗрд╡рд▓ рдХреИрд╢ рдкреЙрдЗрдВрдЯрд╡рд╛рдЗрдЬрд╝ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдпрд╛ рдлреЙрд░реНрдо {рдХреИрд╢ рдХреА}} * * рдХреЗ рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдЪреВрдВрдХрд┐ рдХреИрд╢реНрдб рдкреГрд╖реНрдареЛрдВ рдХреЗ рдкрддреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рдорд╛рдиреНрдп рднрд╛рдЧреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдореБрдЦреМрдЯрд╛ "*" рдХреЗ рд╕рд╛рде рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдирд┐рд░реНрджреЗрд╢ "рдкреНрд░реЙрдХреНрд╕реА_рдХреИрд╢реЗ_рдкреБрд░реЗрдЬ" рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред
рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ nginx рдХреИрд╢ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓ рд╣реИред рд╣рдордиреЗ "рдкреНрд░реЙрдХреНрд╕реА_рдХреИрд╢_рдкрд╛рде" рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдХреИрд╢ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рд╣реИ, рд╣рдордиреЗ "рд╕реНрддрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдмрдирд╛рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ рд╡рд╣ рд╣реИ рдХреИрд╢рд┐рдВрдЧ рдХреБрдВрдЬреА рдХрд╛ рд╕рд╣реА рдЧрдардиред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ "рдкреНрд░реЙрдХреНрд╕реА_рдЪреЗ_рдХреА" рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ:
- рдкреГрд╖реНрда рдкрд░ рдкреВрд░реНрдг рдкрде рдмрдирд╛рдПрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░реЙрдХреНрд╕реА_рдХреЗрдЪреЗ_рдХреА рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ;
- рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ md5 рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд░реЗрдВ;
- "рд╕реНрддрд░" рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВред
- рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╢ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░рд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣реА рд╕рдм рдХреБрдЫ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИред рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рднрд╛рдЧ рд╕реЗ, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ nginx рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд╢реАрди рдкрд░ рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдХрдИ рдкрддреЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░, рд╣рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
- рдХреИрд╢ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдкрде рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦреЗрдВрдЧреЗ;
- рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдорд╢реАрди рдкрд░ рд░рдЦрд╛ рд╣реИред рдЙрд╕рдХрд╛ рдХрд╛рд░реНрдп ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ nginx рдХреИрд╢рд┐рдВрдЧ рд╣реИ рдФрд░ рдЪрд░рдг 1 рд╕реЗ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рднреА рдХреИрд╢ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ;
рд╣рдо рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрддреНрддреАрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ, рд╣рдо рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реБрдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦреЗрдВрдЧреЗред
рдЪрд░рдг 1. рдХреИрд╢ рдХреЗ рд▓рд┐рдП рдкрде рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ред
$urls = [ 'httpGETdomain.ru/news/111/1:2', 'httpGETdomain.ru/news/112/3:4', ]; function to_nginx_cache_path(url) { $nginxHash = md5($url); $firstDir = substr($nginxHash, -1, 1); $secondDir = substr($nginxHash, -3, 2); return "/var/lib/nginx/proxy_cache/$firstDir/$secondDir/$nginxHash"; } // tmp $filePath = tempnam('tmp', 'nginx_cache_'); // $fileStream = fopen($filePath, 'a'); foreach ($urls as $url) { // $cachePath = to_nginx_cache_path($url); // fwrite($fileStream, $cachePath . PHP_EOL); } // fclose($fileStream); // bash exec("/usr/local/bin/cache_remover $filePath");
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЪрд░ $ urls рдореЗрдВ рдХреИрд╢реНрдб рдкреГрд╖реНрдареЛрдВ рдХрд╛ url рд╢рд╛рдорд┐рд▓ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА nginx config рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЫрджреНрдо_cache_key рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИред рдпреВрдЖрд░рдПрд▓ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреГрд╖реНрда рдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдлрд┐рд░, рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп, рд╣рдо рдЯреЗрдмрд▓ рдкрд░ рдПрдХ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдХреИрд╢ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЪрд░рдг 2. рдХреИрд╢ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдХреИрд╢ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
# , FILE_LIST=`cat $1 | tr ` # ssh SSH=`which ssh` USER= # nginx HOST= # KEY= # SSH , $SSH -i ${KEY} ${USER}@${HOST} # rm -rf rm -f $1 #
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЗрд╡рд▓ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдХрдорд╛рдВрдб рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдЪреЗрдХ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрдк rm рдХрдорд╛рдВрдб рдкрд░ рддрд░реНрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЫреЛрдЯреЗ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рджреЗрд╡ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдкрдХреЛ "rm: рддрд░реНрдХ рд╕реВрдЪреА" рд▓рдВрдмреА "" рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдХрд╕реНрдЯрдо рдмреНрд▓реЙрдХ рдХреИрд╢рд┐рдВрдЧ
рдЖрдЗрдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ:
- рдмреИрдХрдПрдВрдб рдкрд░ рд▓реЛрдб рдХрдо рдХрд┐рдпрд╛;
- рдХреИрд╢рд┐рдВрдЧ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ
- рдХрд┐рд╕реА рднреА рд╕рдордп рдХреИрд╢ рдлреНрд▓рд╢ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред
рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЕрдм, рд╢рд╛рдпрдж, рдпрджрд┐ рд╣рд░ рдкрд╣рд▓реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдареАрдХ рд╣реИ рдХрд┐ рд╣рд░ рджреВрд╕рд░реА рд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рдкрдВрдЬреАрдХрд░рдг / рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рд╣реЗрдбрд░ рдореЗрдВ рдХрд╣реАрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдирд╛рдо рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреЗ рддрд╣рдд рд╣рдо рдЕрдзрд┐рдХреГрдд рд╣реИрдВред рдЪреВрдВрдХрд┐ рдирдЧрдиреЗрдХреНрд╕ рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреГрд╖реНрда рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдкреГрд╖реНрда рдХреА HTML рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рд╡рд╛рд▓рд╛ рдмреНрд▓реЙрдХ рднреА рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рдЖрдЧрдВрддреБрдХ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдирд╛рдо рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдХреИрд╢ рдХреЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдореЗрдВ рдЪрд▓реЗ рдЧрдП рдереЗред
рдЗрд╕рд▓рд┐рдП, рдмреИрдХрдПрдВрдб рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд┐рдд рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдирдЧреАрдирдХреНрд╕ рдХреИрд╢ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рди рдЖрдПред
рдкреГрд╖реНрда рдХреЗ рдРрд╕реЗ рднрд╛рдЧреЛрдВ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдпрд╣ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЗрдЬ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ, рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд▓реЛрдбрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЖрдЬ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ ssi рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрдЗрдП рдкрд╣рд▓реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдПрд╕рдПрд╕рдЖрдИ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдирдЧреАрди рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрд╕рдПрд╕рдЖрдИ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
SSI (рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╢рд╛рдорд┐рд▓, рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЗрдВрдХреНрд▓реВрдЬрд╝рди) рдПрдХ HTML рдкреГрд╖реНрда рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред
рдпрд╣рд╛рдВ рдРрд╕реЗ рдЖрджреЗрд╢реЛрдВ (рдирд┐рд░реНрджреЗрд╢реЛрдВ) рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:
тАв рдЕрдЧрд░ / рдПрд▓рд┐рдл / рдФрд░ / рдПрдВрдбрд┐рдлрд╝ - рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдСрдкрд░реЗрдЯрд░;
тАв рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ - рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ;
тАв рд╢рд╛рдорд┐рд▓ рд╣реИрдВ - рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдмрд╕ рдЖрдЦрд┐рд░реА рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреАред рд╢рд╛рдорд┐рд▓ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ:
тАв рдлрд╝рд╛рдЗрд▓ - рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ;
тАв рд╡рд░реНрдЪреБрдЕрд▓ - рд╕рд░реНрд╡рд░ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдкрде рдмрддрд╛рддрд╛ рд╣реИред
рд╣рдо "рд╡рд░реНрдЪреБрдЕрд▓" рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рд╡рд┐рддрд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдмрд╕ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдирд┐рд░реНрджреЗрд╢:
Sgin рдЖрд╡реЗрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
location / { ssi on; ... }
рдЕрдм рд╕реНрдерд╛рди "/" рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╕рднреА рдЕрдиреБрд░реЛрдз ssi рдЖрд╡реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдЗрд╕ рдкреВрд░реА рдпреЛрдЬрдирд╛ рд╕реЗ рд╣рдорд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХреИрд╕реЗ рд╣реЛрдЧрд╛?
- рдХреНрд▓рд╛рдЗрдВрдЯ рдкреЗрдЬ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ;
- рдирдЧрдиреЗрдХреНрд╕ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ;
- рдмреИрдХрдПрдВрдб ssi рдЖрд╡реЗрд╖рдг рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рджреЗрддрд╛ рд╣реИ;
- рдкрд░рд┐рдгрд╛рдо рдХреИрд╢ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- Nginx "рдкреВрдЫрддрд╛рдЫ" рд▓рд╛рдкрддрд╛ рдмреНрд▓реЙрдХреЛрдВ;
- рдкрд░рд┐рдгрд╛рдореА рдкреГрд╖реНрда рдЧреНрд░рд╛рд╣рдХ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЪрд░рдгреЛрдВ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, ssi рдирд┐рд░реНрдорд╛рдг nginx рдХреИрд╢ рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдХреИрд╢ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдФрд░ рд╕рднреА рдЖрд╡реЗрд╖рдг рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ HTML рдкреГрд╖реНрда рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рд▓реЛрдбрд┐рдВрдЧ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, nginx рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд▓рд╛рдкрддрд╛ рдкреГрд╖реНрда рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдЕрдкрдиреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдкреГрд╖реНрда рдкрд░ рдХрдИ рдмреНрд▓реЙрдХ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ рдмреНрд▓реЙрдХ рдХреЛ ssi рдЗрдиреНрд╕рд░реНрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдирд┐рдпрдЧреЗрдВрдХреНрд╕, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдмреИрдХрдПрдВрдб рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ рдмреНрд▓реЙрдХ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛, рдЕрд░реНрдерд╛рдд, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдПрдХ рдЕрдиреБрд░реЛрдз рддреБрд░рдВрдд рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рдЬреЛ рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ред
Ssi рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдмреИрдХрдПрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, nginx рдореЙрдбреНрдпреВрд▓ "ngx_http_memcached_module" рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛ред рдореЙрдбреНрдпреВрд▓ рдореЗрдореНрдХреЗрдб рд╕рд░реНрд╡рд░ рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдЦрдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
server { location /page { set $memcached_key "$uri"; memcached_pass 127.0.0.1:11211; error_page 404 502 504 = @fallback; } location @fallback { proxy_pass http://backend; } }
рдЪрд░ $ рдореЗрдореНрдЪреЗрдЪреЗ_рдХреА рдореЗрдВ рд╣рдордиреЗ рд╡рд╣ рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдирдЧреНрдиреЗрдХреНрд╕ рдореЗрдореЗрдЪреЗ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдореЗрдордХреЗрдЪ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдореНрдХреЗрдЪреНрдб_рдкрд╛рд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд┐рд╡ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рдХреЛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
тАв рдбреЛрдореЗрди рдирд╛рдо;
memcached_pass cache.domain.ru;
тАв рдЖрдИрдкреА рдкрддрд╛ рдФрд░ рдмрдВрджрд░рдЧрд╛рд╣;
memcached_pass localhost:11211;
тАв рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ;
memcached_pass unix:/tmp/memcached.socket;
тАв рдЕрдкрд╕реНрдЯреНрд░реАрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд┐рд╡ред
upstream cachestream { hash $request_uri consistent; server 10.10.1.1:11211; server 10.10.1.2:11211; } location / { ... memcached_pass cachestream; ... }
рдпрджрд┐ nginx рдХреИрд╢ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рддреЛ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдХреИрд╢ рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз "@fallback" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдПрдВрдб рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред Nginx рдХреЗ рддрд╣рдд рдореЗрдордХреЗрдЪреНрдб рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдпрд╣ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реЗрдЯрдЕрдк рд╣рдореЗрдВ ssi рдЖрд╡реЗрд╖рдг рд╕реЗ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд┐рдВрдЧ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рдерд╛ рдФрд░ рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдирдЧрдиреЗрдХреНрд╕ рдХреИрд╢рд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред