
рдЖрдЬ рдЕрдЪреНрдЫреА рдЦрдмрд░ рдереА рдХрд┐ рдЕрдм рд╕реЗ uWSGI рд╕рд░реНрд╡рд░ PHP рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдирд╣реАрдВ, рдЬреАрдЬреАрдЖрдИ рд╕реНрддрд░ рдкрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдпреВрдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ рдХреЗ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░ рдкрд░ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред
uWSGI
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕реНрдерд┐рд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рдВрджрд░реНрднред
uWSGI рдПрдХ рддреЗрдЬ, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп WSGI рд╕рд░реНрд╡рд░ рд╣реИред
- рддреЗрдЬреА рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред
- рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рднреА рдмреЛрдзрдЧрдореНрдп рдФрд░
.ini, yaml, json, XML
рд░реВрдкреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ: .ini, yaml, json, XML
рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред - рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп (рдореВрд▓ рдореЗрдВ рдпрд╣
self-healing
рд▓рдЧрддрд╛ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рд╕реНрд╡-рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдп рд╣реИ: рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдЖрд╡рдВрдЯрд┐рдд рд╕рдордп рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧреА рддрд╛рдХрд┐ рдореЗрдореЛрд░реА рдХреЛ рдмрдВрдж рди рдХрд░реЗрдВ (рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреЛ Harakiri mode
рдХрд╣рд╛ рдЬрд╛рддрд╛ Harakiri mode
)ред
PHP рдкреНрд▓рдЧрдЗрди рд╡рд┐рдзрд╛рдирд╕рднрд╛
рдЙрдирдХреЗ рд╕рд╛рде php рд╕реНрд░реЛрдд, "рд▓рд┐рдВрдХ" uwsgi рд╕реНрд░реЛрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ PHP рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
ln -s /usr/src/uwsgi/plugins/php /usr/src/php/sapi/uwsgi ./buildconf --force ./configure --prefix=/opt/php --with-mysql --with-uwsgi=/usr/src/uwsgi
рдлрд┐рд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ
make, make install
рд╕рд╛рде PHP
make, make install
ред
Nginx рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ, php рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдЕрдиреБрднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (WSGI рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде uWSGI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП):
location ~ .php$ { include uwsgi_params; uwsgi_modifier1 14; uwsgi_pass 127.0.0.1:3030; }
рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ uWSGI
рдЬрдмрдХрд┐ PHP рд╕рдорд░реНрдерди (рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ)
рдЕрд▓реНрдлрд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ , рдХреЛрдИ рдкреНрд▓рдЧрдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЖрдк рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдореЛрдб рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
uwsgi --plugins php --master --socket :3030 --processes 4
рдЗрд╕ рдЧрддрд┐ рд╕реЗ, рдЬрд▓реНрдж рд╣реА рди рдХреЗрд╡рд▓ рдЕрдкрд╛рдЪреЗ рдХреЛ рдордирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рд╕рднреА FastCGI-php-fpm рд╕рдВрдпреБрдХреНрдд рднреАред
рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ
UWSGI рдореЗрдВ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛:
рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ редunbit.it/uwsgi/wiki/PHP
рд╡рд╛рдИрдХреЗрдЖрдИ рдореЗрдВ "рд╣рд░рдХрд┐рд░реА рдореЛрдб" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ:
рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ редunbit.it/uwsgi/wiki