рдПрдЪрдПрдЪрд╡реАрдПрдо (рд╣рд┐рдк-рд╣реЙрдк): рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдФрд░ рдЯреНрдпреВрдирд┐рдВрдЧ

рдЫрд╡рд┐



рдЖрдЬ рд╣рдо рдЧрддрд┐ рдХреЗ рд▓рд┐рдП HHVM рдХреЗ рд╕рд╛рде рдФрд░ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдПрдХ php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рднреА рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Fedora 20 рдкрд░ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦ рджрд┐рдпрд╛ рд╣реИ , рдФрд░ рдпрд╣рд╛рдБ рднреА рд╣рдордиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛, рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреА рдЦрд╛рддрд┐рд░ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ: HHVM PHP (рд╣рд┐рдк) -рдПрдЪрдкреА) рдПрдХ рдЦреБрд▓реА рдЖрднрд╛рд╕реА рдорд╢реАрди рд╣реИ рдЬрд┐рд╕реЗ PHP рдФрд░ HACK рдореЗрдВ рд▓рд┐рдЦреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред JIT рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдлреЗрд╕рдмреБрдХ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред







рдЯреЗрд╕реНрдЯ: HHVM + NGINX + FASTCGI рдмрдирд╛рдо PHP-FPM + NGINX





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



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



рд╢реАрддрд▓:

рдлреЗрдбреЛрд░рд╛ реиреж

рд╣рд┐рдкрд╣реЙрдк рд╡реАрдПрдо 2.4.0 (rel)

nginx / 1.4.4

PHP 5.5.12




рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░: рдЕрдмред

10 рдереНрд░реЗрдбреНрд╕ рдореЗрдВ 3000 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрд░реЛрдзред



рд╢реБрджреНрдз рдПрдЪрд╡реАрдПрдо 13.665 рд╕реЗрдХрдВрдб



рд╕рдорд╕рд╛рдордпрд┐рдХ рд╕реНрддрд░: 10

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордп рд▓рд┐рдпрд╛ рдЧрдпрд╛: 13.665 рд╕реЗрдХрдВрдб

рдкреВрд░реНрдг рдЕрдиреБрд░реЛрдз: 3000

рд╡рд┐рдлрд▓ рдЕрдиреБрд░реЛрдз: 0

рдХреБрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд: 2142000 рдмрд╛рдЗрдЯреНрд╕

HTML рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд: 1842000 рдмрд╛рдЗрдЯреНрд╕

рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдз: 219.54 [# / рд╕реЗрдХрдВрдб] (рдорддрд▓рдм)

рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдордп: 45.549 [рдПрдордПрд╕] (рдорддрд▓рдм)

рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдордп: 4.555 [рдПрдордПрд╕] (рдорддрд▓рдм, рд╕рднреА рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкрд╛рд░)

рдЕрдВрддрд░рдг рджрд░: 153.08 [рдХреЛрдмреАрдЯреНрд╕ / рд╕реЗрдХрдВрдб] рдкреНрд░рд╛рдкреНрдд рдХреА




nginx-fastcgi-php 31.406 рд╕реЗрдХрдВрдб



рд╕рдорд╕рд╛рдордпрд┐рдХ рд╕реНрддрд░: 10

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордп: 31.406 рд╕реЗрдХрдВрдб

рдкреВрд░реНрдг рдЕрдиреБрд░реЛрдз: 3000

рд╡рд┐рдлрд▓ рдЕрдиреБрд░реЛрдз: 0

рдХреБрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд: 2328000 рдмрд╛рдЗрдЯреНрд╕

HTML рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд: 1842000 рдмрд╛рдЗрдЯреНрд╕

рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдз: 95.52 [# / рд╕реЗрдХрдВрдб] (рдорддрд▓рдм)

рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдордп: 104.688 [рдПрдордПрд╕] (рдорддрд▓рдм)

рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдордп: 10.469 [рдПрдордПрд╕] (рдорддрд▓рдм, рд╕рднреА рд╕рдорд╡рд░реНрддреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкрд╛рд░)

рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рджрд░: 72.39 [Kbytes / sec] рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛





рдирд┐рд╖реНрдХрд░реНрд╖: hhvm 2.29 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред



рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдорд╛рдк:



рдЫрд╡рд┐



рдЫрд╡рд┐



рдФрд╕рддрди 1000 рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдкреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрд╛рд░реНрдЯ рд▓рдЧрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред



рдХреЛрдб рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдорд╛рдк рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ HHVM NGINX-FASTCGI-PHP рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 2.77 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред

рдЧреНрд░рд╛рдл рдкрд░, рдиреАрд▓рд╛ рдХреЛрдб рдХреЗ рд╕рдмрд╕реЗ рддреНрд╡рд░рд┐рдд рдЦрдВрдб (рдирд┐рдпрдорд┐рдд рдХрд╛ рджреНрд░рд╡реНрдпрдорд╛рди) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ 113 рдмрд╛рд░ рддреНрд╡рд░рд┐рдд рд╣реБрдЖ рдерд╛!



рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ




рдХрд╛рд░реНрдп: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ - рд▓рдЧрднрдЧ 10 рд╕рд░реНрд╡рд░ред рдХрдИ рдмрд╛рд░ рд╕рдВрд╕рд╛рдзрди рдХрдо рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдпрд╛ рддреЛ рдХрдо рд╕рд░реНрд╡рд░ рдпрд╛ рдХрдо рдбреЗрдЯрд╛ред



рд╕рдорд╛рдзрд╛рди: HHVM рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдк php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо: рдЖрд╡рд╢реНрдпрдХ рддреНрд╡рд░рдгред



рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рддрд░реАрдХрд╛, рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рдкреИрдорд╛рдирд╛: рдЕрдЧрд░ рдпрд╣ рдлреЗрд╕рдмреБрдХ рд╕реНрдХреЗрд▓ (HHVM рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛) рдкрд░ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╝рд╛рд░ рд╕рд░реНрд╡рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рджреЛ рд╕реЗ рддреАрди рдмрд╛рд░ рдХрдо рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдареЛрд╕ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ - рдХреЛрдб рдХреЗ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдЖрдк рдЗрд╕реЗ 113 рдмрд╛рд░ рдУрд╡рд░рдХреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХред



рдмреЗрд╢рдХ, рд╣рд░ рдЪреАрдЬ рдХреЗ рдЕрдкрдиреЗ рдкрдХреНрд╖ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ, HHVM рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рддреБрд░рдВрдд рд╕рдВрдХреЗрдд рджреЗрдирд╛ рдЙрдЪрд┐рдд рд╣реИ:



рдкреЗрд╢реЗрд╡рд░реЛрдВ:

тАв PHP рдирд┐рд╖реНрдкрд╛рджрди рддреНрд╡рд░рдг (рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдбрд╝реЗ рдмреНрд▓реЙрдХ рдкрд░ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ 113 рдЧреБрдирд╛ рдХрд╛ рддреНрд╡рд░рдг рдерд╛, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреА рдЕрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ ~ 2 рдЧреБрдирд╛ рддреНрд╡рд░рд┐рдд рдереА)ред



рд╡рд┐рдкрдХреНрд╖:

тАв php-mysqli рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ (рдЖрдкрдХреЛ mysql рдпрд╛ PDO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)

тАв рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдХреА рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмреИрдардХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ PHP рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рдереЗ (рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рд╣рд╛)ред



рддреИрдирд╛рддреА: рдлреЗрдбреЛрд░рд╛ 20 рдкрд░ HHVM PHP (рд╣рд┐рдк-рд╣реЙрдк) рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛





рдЫрд╡рд┐



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



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



рдЪрд░рдг 1: рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬреЛрдбрд╝рдирд╛




рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрдкрд╛рджрди /etc/yum.repos.d/hhvm.repo



рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЦреЛрд▓реЗрдВ



рдпрд╣ рдЗрд╕ рддрд░рд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

vi /etc/yum.repos.d/hhvm.repo







рд╣рдо рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 [hhvm] name=HHVM for Fedora $releasever - $basearch baseurl=http://dl.hhvm.com/fedora/$releasever/$basearch/
      
      







рдпрджрд┐ рдЖрдк vi рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЗрд╕ "i" рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд┐рд░ рд▓рд╛рдЗрдиреЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ, рдлрд┐рд░ Esc рджрдмрд╛рдПрдВ рдФрд░ рдлрд┐рд░ Shift + z + z рджрдмрд╛рдПрдВред



рдлрд┐рд░ HHVM рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

rpm --import dl.hhvm.com/conf/hhvm.gpg.key

yum install hhvm








рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди, рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрд╡рд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ (рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ [y / d / N] :)ред рд╣рдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде "рд╣рд╛рдВ" рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ:

y







рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реНрдерд╛рдкрд┐рдд рдШрдЯрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рд▓рд╛рдЗрди "рдкреВрд░реНрдг!"ред



рдЗрд╕рдХреЗ рдмрд╛рдж, config рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ - /etc/hhvm/config.hdf.







рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:



vi /etc/hhvm/config.hdf







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

 Log { Level = Error UseLogFile = true File = /var/log/hhvm-error.log Access { * { File = /var/log/hhvm-access.log Format = %h %l %u %t \"%r\" %>s %b } } } MySQL { TypedResults = false } Server { Port = 4849 #     hhvm SourceRoot = /home/www/site/public_html #    php  Type = fastcgi #ThreadCount = 50 } Eval { # set to true to enable JIT compiler # If hhvm crashes you can turn this off to see if the problem # is in the JIT. Jit = true }
      
      







рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНтАНрдлрд╝рд┐рдЧрд░ рдХреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реБрдЭрд╛рд╡ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ, рдФрд░ рд░реВрдЯ рдкрде рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред



рдЪрд░рдг 2: HHVM рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ




рдЕрдм рд╣рдо HHVM рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ - рд╕рд░реНрд╡рд░ рдореЛрдб рдореЗрдВ рдпрд╛ рдбреЗрдореЙрди рдореЛрдб рдореЗрдВ рд▓реЙрдиреНрдЪред



рд╕рд░реНрд╡рд░ рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рд╕реАрдзреЗ рдХрдВрд╕реЛрд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛: hhvm -m server -c /etc/hhvm/config.hfd







рдбреЗрдорди рдореЛрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╡рд░реНрдХ: hhvm -m daemon -c /etc/hhvm/config.hfd







рдпрджрд┐ рдЖрдк hhvm config рдореЗрдВ Type = fastcgi (#Type = fastcgi)



- Type = fastcgi (#Type = fastcgi)



, рддреЛ рдЖрдк рдЕрднреА рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ hhvm рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдбреЗрдорди рдореЛрдб рдореЗрдВ hhvm рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджрд░реНрдЬ рдХрд░реЗрдВ:

netstat -lnp







рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдФрд░ рдЙрдирдХреЗ рдкрд┐рдб рдХреА рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдЪрд╡реАрдПрдо рдкрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдкрд┐рдб рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред kill pid



рдЗрд╕ рдХрдорд╛рдВрдб рдореЗрдВ, рд╣рдо pid рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрд╕реЗрд╕ рдирдВрдмрд░ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореГрдд рд╣реИ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП netstat -lnp рдХреЛ рдкреБрди: рджрд░реНрдЬ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рдХрд┐рд╕реА рднреА рдореЛрдб рдореЗрдВ hhvm рдЪрд▓рд╛рдПрдВред



рд╕рд░реНрд╡рд░ рдореЛрдб рдореЗрдВ hhvm рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ Ctrl + c рджрдмрд╛рдПрдВ рдФрд░ рдлрд┐рд░ рдХрд┐рд╕реА рднреА рдореЛрдб рдореЗрдВ hhvm рдЪрд▓рд╛рдПрдВред



рдЪрд░рдг 3: рдПрдХ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдирд╛




рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, hhvm рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХрд┐рд╕реА рднреА php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░рдЦреЗрдВред



рд╣рдо рдЙрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:

___:4849/_php_.php







рдпрджрд┐ рд╕рдВрд╕рд╛рдзрд┐рдд php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА рд╣реИ, рддреЛ рд╣рдо рдХрдВрд╕реЛрд▓ (hhvm -m рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдореЗрдВ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрд╛ рдХрдорд╛рдВрдб tail /var/log/hhvm-error.log



(hhvm -m daemon рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдЖрдкрдиреЗ hhvm рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ рдХрд┐ Type = fastcgi



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



рдЪрд░рдг 4: NGINX рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ




Hvvm рдореЗрдВ рдлрд╛рд╕реНрдЯреИрдЧреА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, nginx config рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ, рдпрд╣ рдпрд╣рд╛рдБ рд╣реИ /etc/nginx/nginx.confред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП:

 location ~ \.php$ { #      (/home/www/site/public_html). root /home/www/site/public_html; fastcgi_pass 127.0.0.1:4849; #    hhvm fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/site/public_html$fastcgi_script_name; include fastcgi_params; }
      
      







рдмрд╛рдХреА рдирдЧреАрдиреЗрдХреНрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЖрдкрдХреЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд╣реИрдВ (рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ 80 рдХреЛ рд╕реБрдирддрд╛ рд╣реИ - рд╕рд░реНрд╡рд░ {рд╕реБрдиреЛ 80;})ред рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо nginx рдХреЛ рдХрдорд╛рдВрдб рд╕реЗ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ:

nginx -s reload







рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ nginx рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ - рдкреЛрд░реНрдЯ 80 рдХреЗ рд╕рд╛рдордиреЗ, hhvm - рдкреЛрд░реНрдЯ 4849 рдХреЗ рдкреАрдЫреЗред



рдЪрд░рдг 5: HHVM + NGINX + FASTCGI рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ




рд╣рдо рдкрддреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ: change_on_ own_domain / script_php_name.php

рдЖрдкрдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЗрдЦрдиреА рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ nginx рдФрд░ hhvm рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рд╣рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рджреЗрдЦрддреЗ рд╣реИрдВред Hhvm -m рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕реАрдзреЗ, hhvm -m рдбреЗрдорди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

tail /var/log/hhvm-error.log







рдпрд╣рд╛рдБ, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реА hhvm рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ nginx config:



 user apache; worker_processes 10; events { worker_connections 1000; } worker_rlimit_nofile 50000; http { include mime.types; default_type application/octet-stream; log_format my_combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '$upstream_response_time "$host"' sendfile on; keepalive_timeout 10; limit_zone lconn $binary_remote_addr 10m; server { client_max_body_size 1000k; fastcgi_read_timeout 1m; listen 8080; listen 80; server_name site.ru; #    access_log /var/log/nginx/site.ru-access_log my_combined; #    error_log /var/log/nginx/site.ru-error_log; #    limit_conn lconn 100; root /home/www/site/public_html; #    index index.php index.html index.htm; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php$ { root /home/www/site/public_html; #    fastcgi_pass 127.0.0.1:4849; fastcgi_index index.php; #    fastcgi_param SCRIPT_FILENAME /home/www/site/public_html$fastcgi_script_name; include fastcgi_params; } } }
      
      







рдЪрд░рдг 6: рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ HHVM рдЬреЛрдбрд╝реЗрдВ




рдпрджрд┐ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ hhvm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдСрдЯреЛрд▓реИрдб рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред



рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ - рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП /etc/init.d/hhm, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:



vi /etc/init.d/hhvm







рд╣рдо рдЗрд╕рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 #! /bin/sh # # hhvm Daemon for HHVM # # chkconfig: 2345 20 20 # # description: HHVM is an open-source virtual machine designed for executing programs written in Hack and PHP test -x /usr/bin/hhvm || exit 0 case "$1" in start) /usr/bin/hhvm --config /etc/hhvm/config.hdf --mode daemon ;; stop) start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/hhvm/pid ;; reload|force-reload|restart|try-restart) $0 stop $0 start ;; status) echo "No status" ;; *) echo "Usage: /etc/init.d/hhvm {start|stop|restart|status}" exit 1 esac exit 0
      
      







рд╕рд╣реЗрдЬреЗрдВред

рдлрд┐рд░ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:

chkconfig hhvm on







рд╣реЛ рдЧрдпрд╛! Hhvm рдбреЗрдореЙрди рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред



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



рдпрд╣рд╛рдБ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛:

рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди

Nginx рдкрд░ HHVM рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдЯреЗрд╕реНрдЯ: HHVM рдХреА рддреБрд▓рдирд╛ рджреЗрд╢реА рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реЗ рдХрд░рдирд╛



рдпрд╣рд╛рдБ рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ HHVM рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:

Github

рдлреЗрд╕рдмреБрдХ

рд╕рдореБрджрд╛рдп



рдпрд╣рд╛рдБ рдЖрдк рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ:

рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛

рд░реВрд╕реА рдореЗрдВ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛



All Articles