рд╡рд┐рджреЗрд╢ рдореЗрдВ рд╡реЗрдм рд╕рд░реНрд╡рд░ + рд░реВрд╕ рдореЗрдВ рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ = рдкреЗрдЬ рд▓реЛрдбрд┐рдВрдЧ рдЧрддрд┐ рдХрд╛ рддреНрд╡рд░рдг

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

Hetzner рдкрд░ рд░рд╣рддреЗ рд╣реБрдП рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

1. рд░реВрд╕реА рд╕реАрдбреАрдПрди рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧред
2. рд░реВрд╕ рдореЗрдВ рд╕реНрдерд┐рдд / рд╡реАрдкреАрдПрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреА рдкреНрд░реЙрдХреНрд╕реА / рдХреИрд╢рд┐рдВрдЧред

рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд░реВрд╕ рдореЗрдВ рд╕реНрдерд┐рдд рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рдкреНрд░реЙрдХреНрд╕рд┐рдВрдЧ / рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред


рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рднреА рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдбреЛрдореЗрди рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХрдИ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, properties01.example.com, wealth02.example.com, ..., wealth04.example.com (4 рд╕реЗ рдЕрдзрд┐рдХ рдбреЛрдореЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдЖ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ DNS-resolution рдореЗрдВ рднреА рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ )ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдкреЗрдЬ рдХреЛ рддреЗрдЬреА рд╕реЗ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдкреГрд╖реНрда рдкрд░ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдВрдХ рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд░рд╣реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрд╕реНрддрд┐рдпреЛрдВ-рдПрд╕реЗрдЯреНрд╕ 04 рдбреЛрдореЗрди рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдлреЗрд░рдмрджрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рдХреЛ рд╣реЗрдЯреНрдЬрдиреЗрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд░реВрд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╢реНрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣реЗрдЯрдВрдЬрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╣реА рдкреБрдирдГ рд▓реЛрдбрд┐рдВрдЧ рд╣реЛрдЧреАред рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдПрд╕рдПрд╕, рддреЛ рдЖрдкрдХреЛ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрд╕реЗрдЯреНрд╕XX.example.com/css/styles.css?2342324 рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ style.css рдлрд╝рд╛рдЗрд▓ рдмрджрд▓рддреЗ рд╕рдордп рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рддрдм рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм nginx рдкреИрд░рд╛рдореАрдЯрд░ "рдЕрдзрд┐рдХрддрдо рдХреА рд╕рдордп рд╕реАрдорд╛" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдкреЗрдЬ рдЦреЛрд▓рдиреЗ рдХреА рдЧрддрд┐ рднреА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рд░реВрд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рдиреЗрдЧрдиреЗрдХреНрд╕ рдХреЙрдиреНрдлрд┐рдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ (рд╣реЗрдЯреНрдЬрдиреЗрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░, рдЖрдкрдХреЛ рдЙрдкрдирд╛рдо рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):

#      30 ,    100  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=static:32m inactive=30d max_size=100g; server { listen 80; server_name assets01.example.com assets02.example.com assets03.example.com assets04.example.com; # access_log     , ..             access_log off; error_log /var/log/nginx/example.com-err.log; #     ,         http://assetsXX.example.com/ -      location / { rewrite ^ http://example.com$uri permanent; } #  ,    location ~* \.(jpg|jpeg|gif|png|ico|css|midi|wav|bmp|js|swf|flv|avi|djvu|mp3)$ { #  IP   Hetzner proxy_pass http://111.111.111.111:80; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffer_size 16k; proxy_buffers 32 16k; #   expires  ,    serial ( , http://assetsXX.example.com/css/styles.css?2342324) if ($request_uri ~* "\?[0-9]+$") { expires max; break; } proxy_cache static; #      30  proxy_cache_valid 30d; proxy_ignore_headers "Cache-Control" "Expires"; #        ,    ,    assetsXX     (  /css/styles.css?123  /css/styles.css?321   ) proxy_cache_key "$uri$is_args$args"; proxy_cache_lock on; } } 

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


All Articles