"рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА" www рдХреНрд▓рд╕реНрдЯрд░ред рднрд╛рдЧ 1. рд╕реАрдорд╛: NGINX + Cental рдкрд░ рд░рдЦреЗрдВ (vrrp)



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

рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдирд┐рд░реНрджреЗрд╢ Acronis рд╡реЗрдм-рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрддреНрдпрдзрд┐рдХ рд╕реБрд▓рдн рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реЗ рдиреЛрдЯреНрд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ!

рдкрд░реАрдХреНрд╖рд╛ рдФрд░ рдореЗрд░реЗ рд╢реЛрдз рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЙрд╕рдиреЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╣рд░ рджрд┐рди рд╣рдореЗрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реЗрд╡рд╛ рджреЗрддрд╛ рд╣реИред

рд╕реАрдорд╛ рдкрд░, рд╣рдо рджреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:



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

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


nginx [рдЗрдВрдЬрди x] рдПрдХ HTTP рд╕рд░реНрд╡рд░ рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрдЧреЛрд░ рд╕рд┐рдпреЛрд╕реЗрд╡ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ рдореЗрд▓ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рд╣реИред рд▓рдВрдмреЗ рд╕рдордп рддрдХ, рд╡рд╣ рдХрдИ рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд░реВрд╕реА рд╕рд╛рдЗрдЯреЛрдВ, рдЬреИрд╕реЗ рдХрд┐ Yandex, Mail.Ru, VKontakte рдФрд░ Rambler рдХреЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Netcraft рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, nginx рдиреЗ рдЕрдХреНрдЯреВрдмрд░ 2013 рдореЗрдВ рд╕рдмрд╕реЗ рднрд░реА рд╣реБрдИ рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ 15.08% рдХреА рд╕реЗрд╡рд╛ рдХреА рдпрд╛ рдЙрд╕рдХреА рдкреВрд░реНрддрд┐ рдХреАред

рдмреБрдирд┐рдпрд╛рджреА HTTP рд╕рд░реНрд╡рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛

  • рд╕реНрдерд┐рд░ рдкреНрд░рд╢реНрдиреЛрдВ, рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реЗрд╡рд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдирд╛, рдЦреБрд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░;
  • рдХреИрд╢рд┐рдВрдЧ, рд╕рд░рд▓ рд▓реЛрдб рд╕рдВрддреБрд▓рди рдФрд░ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рд╕рд╛рде рддреНрд╡рд░рд┐рдд рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА;
  • FastCGI, uwsgi, SCGI рдФрд░ рдореЗрдореЗрдХреИрдЪреНрдб рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд╕рдорд░реНрдерди рдЬреЛ рдХреИрд╢рд┐рдВрдЧ, рд╕рд░рд▓ рднрд╛рд░ рд╕рдВрддреБрд▓рди рдФрд░ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рд╕рд╛рде рд╣реИ;
  • рд╕рдВрдкреАрдбрд╝рди (gzip), рдмрд╛рдЗрдЯ-рд░реЗрдВрдЬ (рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ), chunked рдЙрддреНрддрд░, XSLT рдлрд╝рд┐рд▓реНрдЯрд░, SSI рдлрд╝рд┐рд▓реНрдЯрд░, рдЫрд╡рд┐ рд░реВрдкрд╛рдВрддрд░рдг рд╕рд╣рд┐рдд рдореЙрдбреНрдпреВрд▓рд░рд┐рдЯреА, рдлрд╝рд┐рд▓реНрдЯрд░; рдкреНрд░реЙрдХреНрд╕реА рдпрд╛ FastCGI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SSI рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдПрдХ рдкреГрд╖реНрда рдкрд░ рдХрдИ рдЙрдкрд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд░реНрдерди рдФрд░ рдЯреАрдПрд▓рдПрд╕ рдПрд╕рдПрдирдЖрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиред


HTTP рд╕рд░реНрд╡рд░ рдХреА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

  • рдЖрдИрдкреА тАЛтАЛрдкрддреЗ рдФрд░ рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░;
  • рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдЬреАрд╡рд┐рдд рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрдиреЗрдХреНрд╢рди;
  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓рдЪреАрд▓рд╛рдкрди;
  • рдЧреНрд░рд╛рд╣рдХ рд╕реЗрд╡рд╛ рдореЗрдВ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдмрд┐рдирд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ;
  • рд▓реЙрдЧ рдлреЙрд░реНрдореЗрдЯ рд╕реЗрдЯ рдХрд░рдирд╛, рдмрдлрд░рд┐рдВрдЧ рд▓реЙрдЧрд┐рдВрдЧ, рдлрд╛рд╕реНрдЯ рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди;
  • рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдкреГрд╖реНрда 3xx-5xx;
  • рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдореЙрдбреНрдпреВрд▓: рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдпреВрдЖрд░рдЖрдИ рдХреЛ рдмрджрд▓рдирд╛;
  • рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдкрддреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди;
  • рдкрд╛рд╕рд╡рд░реНрдб, HTTP (HTTP рдмреЗрд╕рд┐рдХ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди) рдФрд░ рд╕рдмрдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХреНрд╕реЗрд╕ рдкреНрд░рддрд┐рдмрдВрдз;
  • HTTP рд░реЗрдлрд╝рд░рд░ рдЪреЗрдХ;
  • рддрд░реАрдХреЗ, DELETE, MKCOL, COPY рдФрд░ MOVE;
  • FLV рдФрд░ MP4 рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ;
  • рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЧрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛;
  • рдПрдХ рдкрддреЗ рд╕реЗ рдПрдХ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛;
  • рдПрдВрдмреЗрдбреЗрдб рдкрд░реНрд▓ред






рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░рдЦреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░ 2 рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рд╣рдореЗрдВ рдЕрдкрдиреЗ рдореБрдЦреМрдЯреЗ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рд╕рд╛рд░рдг рд╣рдорд╛рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдХрд╣рд╛рдВ рд╣реИ, рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕рдм рдХреБрдЫ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ!

# рдореЗрд░рд╛ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ
[рд░реВрдЯ @ nginx-frontend-01 ~] #

nano /etc/sysconfig/network-scripts/ifcfg-eth2 


 DEVICE=eth2 BOOTPROTO=static ONBOOT=yes IPADDR=10.100.100.56 NETWORK=10.100.100.0 NETMASK=255.255.255.0 BROADCAST=10.100.100.255 


# рд░рд┐рдкрдмреНрд▓рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
[рд░реВрдЯ @ nginx-frontend-01 ~] #

  nano /etc/sysconfig/network-scripts/ifcfg-eth3 


 DEVICE=eth3 BOOTPROTO=static ONBOOT=yes IPADDR=72.xx1 NETMASK=255.255.255.248 BROADCAST=72.xx55 GATEWAY=72.xx49 


рдЕрд░реНрдерд╛рддреН, рдореЗрд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ, рдорд╛рд╕реНрдХ 29/29 рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдореЗрд░рд╛ рдкреНрд░рд╕рд╛рд░рдг xxx55, рдЕрдЧрд░ рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ / 24 рдерд╛, рддреЛ рдЖрдк xxx255 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛ рджреЗрдВрдЧреЗ

# рд╕реНрдерд╛рдкрд┐рдд рд░рдЦреЗрдВ
 yum install keepalived -y 


# рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ! рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдЬреЛрдЦрд┐рдо рдкрд░, рдореИрдВрдиреЗ рдЪреЗрддрд╛рд╡рдиреА рджреАред рд╕реЗрд▓рд┐рдирдХреНрд╕ рдмрдВрдж рдХрд░реЗрдВ
 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux 


# рд╣рдо рдкрд╣рд▓реЗ рдиреЛрдб nginx-frontend-01 рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЯрд┐рдкреНрдкрдгреА рдЪрд┐рд╣реНрди рд╣реИ! " "#" рдирд╣реАрдВ

 mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.old && nano /etc/keepalived/keepalived.conf 


[рд░реВрдЯ @ nginx-frontend-01 ~] #

  nano /etc/keepalived/keepalived.conf 


 ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from root@localhost smtp_server localhost smtp_connect_timeout 30 !     router_id nginx-frontend-01 } vrrp_instance nginx2 { !     ,      state BACKUP !    interface eth3 ! ,   vrrp_instance     virtual_router_id 102 !      ,  BACKUP        MASTER priority 100 advert_int 1 dont_track_primary !        broadcast mcast_src_ip xxx55 !    ,     authentication { auth_type PASS auth_pass b65495f9 } !     ,  MASTER    virtual_ipaddress { xxx2/29 dev eth3 } } vrrp_instance nginx1 { !   - ,          ,    state MASTER !    interface eth3 ! ,   vrrp_instance     virtual_router_id 101 !         backup priority 200 advert_int 1 dont_track_primary !        broadcast mcast_src_ip xxx55 !    ,     authentication { auth_type PASS auth_pass b65495f8 } virtual_ipaddress { !     ,    ,     xxx1/29 dev eth3 } !     gateway virtual_routes { default via xxx49 dev eth3 metric 2 } } 


# рд╣рдо рджреВрд╕рд░реЗ рдиреЛрдб nginx-frontend-02 рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реИ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЯрд┐рдкреНрдкрдгреА рдЪрд┐рд╣реНрди "" рд╣реИ! "#" рдирд╣реАрдВ

 mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.old && nano /etc/keepalived/keepalived.conf 


[рд░реВрдЯ @ nginx-frontend-02 ~] #

 nano /etc/keepalived/keepalived.conf 


 ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from root@localhost smtp_server localhost smtp_connect_timeout 30 !     router_id nginx-frontend-02 } vrrp_instance nginx1 { !     ,      state BACKUP !    interface eth3 ! ,   vrrp_instance     virtual_router_id 101 !      ,  BACKUP        MASTER priority 100 advert_int 1 dont_track_primary !        broadcast mcast_src_ip xxx55 !    ,     authentication { auth_type PASS auth_pass b65495f9 } !     ,  MASTER    virtual_ipaddress { xxx1/29 dev eth3 } } vrrp_instance nginx2 { !   - ,          ,    state MASTER !    interface eth3 ! ,   vrrp_instance     virtual_router_id 102 !         backup priority 200 advert_int 1 dont_track_primary !        broadcast mcast_src_ip xxx55 !    ,     authentication { auth_type PASS auth_pass b65495f9 } !     ,    ,     virtual_ipaddress { xxx2/29 dev eth3 } virtual_routes { !     gateway default via xxx49 dev eth3 metric 2 } } 


# рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ

  chkconfig keepalived on && service keepalived restart 


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

 iptables -A INPUT -i eth3 -p vrrp -j ACCEPT iptables -A OUTPUT -o eth3 -p vrrp -j ACCEPT iptables -A INPUT -d 224.0.0.0/8 -i eth3 -j ACCEPT iptables-save > /etc/sysconfig/iptables 


# рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИ
рдЗрд╕ рдЪрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░реА (рдПрд▓рд┐рдпрди) рдЖрдИрдкреА рдкрддреЗ рдХреА рдУрд░ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ

 echo "net.ipv4.ip_nonlocal_bind=1" >> /etc/sysctl.conf && sysctl -p 


# рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

 /etc/init.d/keepalived restart && tail -f -n 100 /var/log/messages 


# рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд░рдЦрд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ
  tcpdump -vvv -n -i eth3 host 224.0.0.18 


# рд╣рдореЗрдВ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП

 xxx55 > 224.0.0.18: VRRPv2, Advertisement, vrid 102, prio 200, authtype simple, intvl 1s, length 20, addrs: xxx2 auth "b65495f9" 07:50:50.019548 IP (tos 0xc0, ttl 255, id 5069, offset 0, flags [none], proto VRRP (112), length 40) xxx55 > 224.0.0.18: VRRPv2, Advertisement, vrid 101, prio 200, authtype simple, intvl 1s, length 20, addrs: xxx1 auth "b65495f9" 


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



# CentOS 6 рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ nginx рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
 rpm -Uhv http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm 


# рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ nginx рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ

 yum update -y yum install nginx 


# рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдорд╛рдирдХ nginx рдЧреНрд░реАрдЯрд┐рдВрдЧ рд╣реИ

 rm -f /etc/nginx/conf.d/default.conf rm -f /etc/nginx/conf.d/virtual.conf rm -f /etc/nginx/conf.d/ssl.conf 


# рдореБрдЦреНрдп рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдПрдВ

  mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old nano /etc/nginx/nginx.conf 


 user nginx; #     worker_processes 10; pid /var/run/nginx.pid; events { #      worker_connections 1024; # epoll тАФ  ,   Linux 2.6+ http://nginx.org/ru/docs/events.html use epoll; #            multi_accept on; } error_log /var/log/nginx/error.log warn; http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; connection_pool_size 256; client_header_buffer_size 4k; client_max_body_size 100m; large_client_header_buffers 8 8k; request_pool_size 4k; output_buffers 1 32k; postpone_output 1460; #     gzip gzip on; gzip_min_length 1024; gzip_proxied any; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json; gzip_comp_level 5; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 75 20; server_names_hash_max_size 8192; ignore_invalid_headers on; server_name_in_redirect off; proxy_buffer_size 8k; proxy_buffers 8 64k; proxy_connect_timeout 1000; proxy_read_timeout 12000; proxy_send_timeout 12000; #      ,        proxy_cache_path /var/cache/nginx levels=2 keys_zone=pagecache:5m inactive=10m max_size=50m; #  backend     mod_rpaf real_ip_header X-Real-IP; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; allow all; include /etc/nginx/conf.d/*.conf; } 


# рдЕрдм рд╣рдорд╛рд░реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ vhost рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ

 nano /etc/nginx/conf.d/all.conf 


 upstream web { #   backend   nginx   ,   fail   backend    # back01 server 10.211.77.131 weight=10 max_fails=60 fail_timeout=2s; # back02 server 10.211.77.136 weight=10 max_fails=60 fail_timeout=2s; } server { listen 80; location / { proxy_pass http://web; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 


# рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди, рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

  nano /etc/nginx/conf.d/ssl.conf 


 upstream ssl { # back01 # server 10.211.77.131 weight=10 max_fails=60 fail_timeout=2s; # back02 server 10.100.100.63 weight=10 max_fails=60 fail_timeout=2s; } server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/GeoTrustCA.crt; ssl_certificate_key /etc/nginx/ssl/GeoTrustCA.key; #    SSL  ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH; ssl_session_cache shared:SSL:10m; ssl_prefer_server_ciphers on; ssl_protocols SSLv3 TLSv1; location / { proxy_pass http://ssl; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 


# рдирдЧреНрдиреЗрдХреНрд╕ рдЪрд▓рд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдСрдЯреЛрд▓реИрдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ!

  /etc/init.d/nginx start && chkconfig nginx on 


рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

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


All Articles