แฉแแแ แแแแแ แแแฅแแแงแแแแ แแแแคแแ แแแชแแแก แแแแแ แแจแแก แฉแแแแฌแแ แก
แแแแแกแแแแแแแ แงแแแแแก, แแ แแฅแแแ แแแแแแแแ แแ แแขแแกแแแ, แแแฃแจแแแ แแแ แแแแแแแก. แชแแขแแก แฉแแแก แจแแกแแฎแแ แแแแแงแแแแแ. แฉแแแ แชแฎแแแ แแแแก แกแแ แแแแแฎแแแก แแแขแแ แแ แแแแแแแก แฌแแ แแจแ. แแ แแแแฎแแ แแ แแแ แแแแกแขแ แแแ แแแแแ แ แแแแแแแ: แแแแฏแแ แกแแแแแ แจแ แแแแก แแฎแแแแ. แกแแชแแชแฎแแแก แแแแแฎแแแ แแ แแก แแแแฃแกแขแ แแฃแแ แแแแแแแแ แแแ, แแแแแก แฌแแ แ, แ แแแแแแช แแแ แแแแแ แฌแแ แแแแแแจแ แแแแแแแก. แแแแ, แ แแแแแกแแช แแแแแแ แแ แแฅแแแแแแแ แแงแแแแแก, แแแแ แแ แแแ แแชแแแแแแ แแแก แแแก.
แแกแ แ แแ, แแแกแแแ, แ แ แชแฃแแ แแงแ. แชแแขแ แฃแแชแ แแกแ แ แแ แแแงแแแ, แแแแแแ แแ แแแแชแแก แแก แแ แ แขแแ แแแแแขแแแแ แแแแแชแแแแ แแแแ. แแฎแแ แแฅ แงแแแแแกแแแแก แแแแ แแแขแแแ แแแแ. แแแแแแ แแแแคแแ แแแชแแแแแ แแ แแแแแฎแ: โแแแญแแแ, แแแแฎแแ แแ, แแแแ แแแแแชแแแแแ แแแฅแแ, แงแแแแแคแแ แ แแแแแ แแ? แ แแแแแแ แแแแ แแแฅแแก แแฅ? แแแ แแแแแกแฃแฎแแก: โแฉแแแ แแแแฅแแก 100 แแแแแแแแขแ!โ แแ แแฃแแฎแแ แ: "แแแแแ แแ, 100 แแแแแแแแขแ!" แแ แแ แแคแแฅแ แแแแ, แ แแแแ แจแแแแแแ แฉแฃแแแแแแ แฉแแแ แแแแแ แแก แกแแฎแ. แแฅแแแ แคแแฅแ แแแ, แแแแฎ, แแแญแแแ แแแแ แแแ แแ แแแ แแ แจแแแแแ แแแแ แฃแแแแแแ แแ แแแแขแแ แแกแแแ แแ แแ แแแแ แขแแ แแแแแขแแแ แแแแแชแแแแ แแแแแแก. แแ แแก แแ แแก แฃแแชแ แแกแ. แฌแแ แแแแแแแแแแแ แแก แ แ แแแ แขแงแแแ?
แแ แแแชแ แแ แแแ แแแแ แแแแก 20-แแ แแแขแ แแแ. แแก แแ แแก แแก, แ แแช แแ แฃแแแ แแแแ แแแแ, แ แแแแกแแช แแแฃแจแแแแแ. แแแแก แแแซแแแแแ Erlang, C, C++, Lua, Python, Ruby, แ แแฆแแช แกแฎแแ แแ แแก แงแแแแแคแแ แ แฃแแแ แแแญแ แ. แแแแแแแ, แแแแแฌแแ. แแฃแกแขแ แ แแชแฎแแแก แแแแแแ แแแ แแแฎแแ แฎแแ, แแแแ แแ แกแแแฆแแช 20-แจแ แ แแชแฎแแ แแแแแแ แแ.
แ แแแแแ แงแแแแแ แแชแแก แ แ แแ แแก แแแ แแแแแแแ แแ แ แแก แแแแแแแแ, แแ แแแกแแฃแแ แแ แแแแแ, แแฃ แ แ แแแแ แแแ แแแ แ แแ แ แแก แแแแแแแแ. แฃแแ แแแแ แแแขแงแแแ, แ แแ แฉแแแ แแแแฅแแก 13 แแคแแกแ แแแแแก แแกแแคแแแแจแ, 300-แแ แแแขแ แแแแแแจแ แแแแแ, แแแแแแแแ แแแ แแแกแแแแจแ, แขแแแแแกแ แแ แแแแขแแจแ. แแฃ แกแฃแ แแแแ แแแฅแแ, แจแแแแซแแแแ แแแฆแแ แแ แแแแแฎแแแแแ แแแแขแแจแ, แแฃ แแแแแแ แจแ แชแแแ แแ แแฃแ แแแก แแแแแแแ แแญแแ แแแแแ.
แแแแแ แแขแฃแแแ, แฉแแแแ แแแแงแแคแแแแแ แแแแแ 2-แจแ แฌแแ แก. แฉแแแ แแแแแแกแจแ แแแ แ แแ แแ แ แแ แแแแฅแแก แแแแฃแ แ แขแแฅแแแแแแแแแแก แแแแแ แแแแกแแแแก, แแแแขแแ แแแขแแแฏแแแแ. แฉแแแ แแแงแแแแแ Django-แก, แ แแแแแ แแแก แแฅแแก แงแแแแแคแแ แ แแ แ แแช แแ แแงแ แกแแญแแ แ, แแแแฆแแ แแ แแแแแแงแแ แแ. แแกแแแ MySQL, Redis แแ NGINX. แแแแแ แแแแ แ แแแแแ แ แ แแแ แแแแฅแแก. แฉแแแ แแแแฅแแก MongoDB, แแแงแแแก แแฃแ แแฆแแแแ แแแ แแแแ, แแแแฅแแก แงแแแแแคแแ แ - แแแแ แแ แแก แฉแแแ แแ แแ แแก แแ แแ แแแแก แแ แแแแแแแ.
OpenResty
แฉแแแก แแแแแ แแฃแแฎแแ แ. แแแแแ แแแแแ แแแแแ แ แแแ แแแกแแฃแแ แแ แแฆแแก:
- แ แ แแ แแก OpenResty แแ แ แแแ แญแแแแ?
- แ แแขแแ แฎแแแแฎแแ แแแแแแแแแแแ แกแฎแแ แแแ แแแแ, แ แแแแกแแช แแแแฅแแก Python, NodeJS, PHP, Go แแ แกแฎแแ แแแแแ แ แ แแฆแแชแแแแ, แ แแแแแแแช แงแแแแ แแแแงแแคแแแแ?
- แแ แ แแแแแแแแ แแแแแแแแ แชแฎแแแ แแแแแแ. แซแแแแแ แแแแแฌแแ แกแแฃแแ แแก แจแแแชแแ แแแ, แ แแแแแ แแก แแงแ 3,5 แกแแแแ, แแกแ แ แแ แแแแ แ แแแแแแแแ แแ แแฅแแแแ.
OpenResty แแ แแก NGINX. แแแกแ แฌแงแแแแแแ แฉแแแ แแแแฅแแก แกแ แฃแแคแแกแแแแแ แแแ แกแแ แแแ แ, แ แแแแแแช แแแ แแแ แแ แแก แแแฌแแ แแแ แแ แกแฌแ แแคแแ แแฃแจแแแแก. แแคแแฅแ แแ, แฃแแแขแแกแแแ แฉแแแแแแแ แแงแแแแแก NGINX-แก แฌแแ แแแแแแจแ. แงแแแแแ แแชแแ, แ แแ แแก แกแฌแ แแคแ แแ แแแแแ แแ. แแแ แจแแฅแแแแก แแแแแ แ แกแแแฅแ แแแฃแแ I/O แแแกแจแ, แแกแ แ แแ, แฉแแแ แแ แแแญแแ แแแแ แแ แแคแ แแก แชแแแแ, แแกแแแ, แ แแแแ แช แแกแแแ แแแแแแแแก แแแแแแจแ. Gevent แแแแแ แแ, แแจแแแแแแ แแ, แแแแ แแ แแฃ แแแฌแแ C แแแแก แแ แ แแแ แแ แแกแฌแแ แแ แแแฎแแแแ, แแแจแแ แแแแแแขแแ แแแแแแแแแแ แแแกแ แแแแแ แแแ. แแ แแฅแแแแ แแแแแชแแแแแแ: แแแแแ แแ แ แแฆแ แแแกแญแแ แแ แแแแก แแแ แแแแแแก, แแฃ แ แ แแแฎแแ แแฅ. แแฃ แแแแแแก แ แแแแแแแแ แแแแ แ แแ แแแแแฎแแ แ, แแ แแแแแแ แแ แแฆแแแแฉแแแ, แแแฌแแ แ แแแขแแ แแแขแจแ แแ Google-แแ แแแ แแแแแ, แแแจแแ แฉแแแ แกแฃแ แแแแแแแแแแแแแ.
NGINX-แก แฃแแแ แแฅแแก แฅแแจแแ แแแ แแ แกแขแแขแแแฃแ แ แจแแแแแ แกแ. แแฅแแแ แแ แแญแแ แแแแแ แคแแฅแ แ แแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแ แแก แแแแแแแแฃแ แแ, แ แแ แกแแแแ แแ แจแแแแแแแ, แ แแแ แกแแแแ แแ แแแแแ แแแ แแฆแฌแแ แแแ. Nginx แซแแแแแ แแแกแแฎแแ แฎแแแแแแ แแแแแแแแแแกแแแแก, แแฅแแแ แแ แแญแแ แแแแแ แคแแฅแ แ แแแแแ, แแฃ แ แ แฃแแแ แแแฆแแ - WSGI, PHP-FPM, Gunicorn, Unicorn. Nginx แแงแ แแแแแกแขแแแแ แแแฃแแ, แแแแแแชแ แแแแแแแกแขแ แแขแแ แแแก, แแแ แแชแแแ แ แแแแ แแแฃแจแแแ แแแกแแแ. Nginx แแแฃแจแแแแแก แแแแฎแแแแแแก แกแขแ แฃแฅแขแฃแ แแ แแแฃแแ แแแแ. แแแแแ แชแแขแ แแแแแแแแแแแ แแแกแแฃแแ แแ. แแแแแแ, แแแก แแฅแแก แคแแแ, แ แแแแกแแช แแแ แฃแแ แแแแ แแแแฆแ แแแแฎแแแแ, แ แแแแก แแแแแฃแจแแแ แแ แ แแแแก แแแแฌแแแ แแแแขแแแขแ แแแแฎแแแ แแแแแก.
Nginx แแแแแ แแ, แแแแ แแ แแ แแก แแ แแ แแ แแแแแแ: แแก แแ แแ แแก แกแแแแแ แแกแแ แแแฅแแแแ, แแฃแแแแช แงแแแแ แแ แแแแแ แ แคแฃแแฅแชแแแ, แ แแช แแแญแแแแ แฉแแกแแแก แแแแคแแแฃแ แแชแแแจแ, แแแฃแฎแแแแแแ แแแแกแ, แแฃ แ แ แจแแแซแแแแ แแงแแก แแแแคแแแฃแ แแ แแแฃแแ. แแก แซแแแ แแ แแ แแก แกแแแแแ แแกแ. แแแแขแแ แขแแแแแแก แแแญแแแแ, แแแแ แฎแแแก แฌแแ, แ แแแแ แช แฉแแแก, แ แแ แฌแแแก แฌแแ, แแฃแ แฉแแกแแแก แแแกแจแ. แ แแก แแซแแแแ?
- ะ ะฐะทะผะตั. แฒแก แแแขแแ แแ. LuaJIT แแซแแแแ แแแแฎแแแแแแ 100-200 แแแแแแแแขแ แแแฎแกแแแ แแแแก แแแแแแแแแก แแ แแแแแแแแฃแ แจแแกแ แฃแแแแแก.
- แกแแฉแฅแแ แแก. LuaJIT แแแ แฏแแแแแ แแแแ แกแแขแฃแแชแแแจแ แแฎแแแก แแ แแก C-แกแแแ, แแแแแแ แ แกแแขแฃแแชแแแจแ แแก แแแ แแแแก Java-แก, แแแแแแ แแจแ แแ แแฏแแแแแก แแแก. แแแ แแแแฃแแ แแแ แแแแแก แแแแแแแแแแแจแ แแแ แแแแแแแแแ แฎแแแแแแแแแก แแแแแ, แงแแแแแแ แแแแแ JIT แจแแแแแแแแแ. แแฎแแ แแ แแก แฃแคแ แ แแแแแ แ, แแแแ แแ แแกแแแ แซแแแแแ แแซแแแแ, แแแแแแแแแ, แแแแแ V8. แแแแแแ แแ JS แแแ แฏแแแแแ แแ Java HotSpot แแแแแแ แ แฌแแ แขแแแจแ แฃแคแ แ แกแฌแ แแคแแ, แแแแ แแ แแแแแแ แ แแแแแแแก แแกแแแ แแแแแช แแแ แแแแแ.
- แแแ แขแแแ แกแฌแแแแ. แแฃ แแฅแแแ แแแฅแแ, แแแฅแแแ, Perl แแแแแก แแแแ แแ แแ แฎแแ แ แแแฏแแแจแแแแ, แแแ แแแแแแ Perl แแ แแแ แแแแกแขแแแก. แแแแก แแแแ, แ แแ แแกแแแ แแ แแ แกแแแแแแ, แแกแแแ แงแแแแ แฌแแแงแแแแแก แแ แแแแ แกแฌแแแแแแ แแ แซแแแ แแ แ แแฃแแแ. แแฃ แแ แแแ แแแแกแขแแแ แกแฎแแ แ แแแแจแ แแกแฃแ แ, แจแแแซแแแแ แแกแแแ แแแแแฌแแแ แแแแ แแแแแแแแแแแ แแ แแแแแ. แแฃแแก แจแแแแฎแแแแแจแ แงแแแแแคแแ แ แแแ แขแแแแ. แแฃแแก แกแฌแแแแ แแแแแกแแแแ แฃแแชแ แแกแก แจแแฃแซแแแ แกแแ แแฆแแจแ. แแแแฎแแแแแแ แแ แ แกแแแแ แแแแญแแ แแ แแแแก แแแกแแ แแแแแแ. แแ แ แกแแแแแก แจแแแแแ แแ แฃแแแ แแฌแแ แแ แแแแก แฌแแ แแแแแแจแ. แแแแฎแแแแแแ แแ แแ แแแแ แแก แจแแแแแ แแก แแแ แแแแแ แฌแแ แแแแแแแ แฌแแแแแ แแ แฌแแแแแ.
แจแแแแแแ, แแกแ แแแแแแงแฃแ แแแ:
แแฅ แแแแ แแ. OpenResty-แ แจแแแแ แแแ แฃแแแ แแแ แแแแฃแแ, แ แแแแ แช luash, แแกแแแ แซแ แแแแก แแแแฃแแ. แแฅแแแ แแ แงแแแแแคแแ แ แแแแ แแแฅแแ - แแแแแแแแแฃแแ แแ แกแแแฃแจแแ.
แแแแแแแแแแ
แกแแแแแ แแกแแ แแแฅแกแแแ, แแแแแแแแแ แแแแแ. แแฅ แแ แแก แแแขแแ แ Hello World:
แ แ แแ แแก แแฅ? แแก แแ แแก แแแแแแกแแก แแแแแแแแแแแ แแแแ. แฉแแแ แแ แแแแ แแแฃแแแแ, แฉแแแ แแ แแฌแแ แ แฉแแแแก แแแ แจแ แฃแขแแแก, แแ แแแฆแแแ แแแแก - แฉแแแ แแก แฃแแแ แแแแฅแแก NGINX-แจแ, แฉแแแ แแชแฎแแแ แแแ แแแ แแ แแ แแแ แแแชแ แชแฎแแแ แแแแ.
content_by_lua_block
แแ แแก แแแแแ, แ แแแแแแช แแแแแแก, แ แแ แฉแแแ แแแแกแแฎแฃแ แแแแ แแแแขแแแขแก Lua แกแแ แแแขแแก แแแแแงแแแแแแ. แฉแแแ แแแฆแแแ Engins แชแแแแแก remote_addr
แแ แฉแแกแแแ string.format
. แแแแแแ แ แแช sprintf
, แแฎแแแแ แแฃแแจแ, แแฎแแแแ แกแฌแแ แ. แแ แฉแแแ แแแซแแแแ แแแก แแแแแแขแก.
แจแแแแแแ, แแก แแกแ แแแแแแงแฃแ แแแ:
แแแแ แแ แแแแฃแแ แฃแแแแ แ แแแแฃแ แกแแแงแแ แแก. แแ แแแแ แแฎแแ แชแแแแแแก Hello World แฌแแ แแแแแแก. แฉแแแแ แแแแแแแชแแ แฉแแแฃแแแแ แแ แแแแแก แแแแแชแแแแ แแแแแจแ แแ แกแแแแ แกแฎแแแแแ แแ แฃแแแขแแกแแ แแแแแแแ แแแกแฃแฎแก.
แแก แฃแแ แแแแ แแแก แแ แแแแแแแ. แแ แแ แแก แซแแแแแ แแแ แแ. แ แแแแกแแช 100.000 XNUMX แแแแฎแแแ แแแแแ แแแแแก, แฉแแแแแแแก แซแแแแแ แ แแฃแแแ. แแแแแ แแแแแแแงแแแแ แแแ แขแแแ แแแแแแแชแแ, แ แแแแ แช แแแแแแแแ. แฉแแแ แแแซแแแ แกแฃแ แแแแแก, แแแแแแแแแ, แแแขแแแแก. แแแแ แแ แฉแแแ แฃแแ แแแแ แแ แแแแซแแแแแ, แฉแแแ แแแแแคแแ แแแแแแ แกแแแแแแซแ แกแแขแงแแแแก แแ, แแฃ แแแแฎแแแ แแแแแ แแแซแแแแแก "แแแฃแขแแแก", แฉแแแ แแแแแแแ แแแขแแแก, แแแฌแแแแ แแแขแแแก แแ แ.แจ. แแแ แแแ แ แแแจแ, แฉแแแ แฃแแแ แแแแแฆแแ แแแแฎแแแแแก แแแแแชแแแแแ แแแฅแแแแแ. แแก แแกแ แแแแแแงแฃแ แแแ:
แแ แ แฎแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแ แฉแแแ GET แแแ แแแแขแ แแแ, แแแ แแฃแแแแแแแก แแแ แแจแ. แจแแแแแแ, แแแฅแแแ, แแแแแชแแแแ แแแแแแแ แกแแแแแแซแ แกแแขแงแแแกแ แแ แแแคแแ แแแแแแก แแแจแแแ, แฉแแแ แแแฆแแแ แแ แแแคแแ แแแชแแแก แฉแแแฃแแแแ แแแ SQL แแแแฎแแแแแก แแแแแงแแแแแแ. แฒแก แแแ แขแแแแ. แแก แแกแ แแแแแแงแฃแ แแแ:
แแแแแแแแแแแก แแแแแแจแแ แแแ resty.mysql
, แ แแแแแแช แฃแแแ แแแแฅแแก แแแแ แแแจแ. แแ แแคแ แแก แแแงแแแแแ แแ แแแญแแ แแแแ, แงแแแแแคแแ แ แแแแแแ. แฉแแแ แแฆแแแแจแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแจแแ แแ แแ แแแแแแแแ SQL แแแแฎแแแแ:
แแฅ แชแแขแ แกแแจแแแแแแ, แแแแ แแ แงแแแแแคแแ แ แแฃแจแแแแก. แแฅ 10 แแ แแก แแฆแแแ แ. แฉแแแ แแแแแแฆแแแ 10 แฉแแแแฌแแ แก, แฉแแแ แแแ แ แแแ แแแชแ, แแ แแแแแแ แแแขแแก แฉแแแแแแ. แแแแแแแฌแงแแ แแแแแขแ SQL-แจแ.
แจแแแแแ แฉแแแ แแแแฃแแแแ แกแฃแ แแแแแก แงแแแแ แจแแแแแฎแแแกแแแแก. แแแแ แแแแแ แแแแฎแแแแแแก แแ แแแแกแแแ แแฃแแก แชแฎแ แแแก แ.แฌ reqs
แแ แฉแแแ แแแแแแแแ ngx.location.capture_multi
.
แงแแแแ แแก แแแแฎแแแแ แแแแแแแแแ แแแ แแแแแฃแ แแ, แแแกแฃแฎแแแ แแ แฉแแแแแแ แแ แฃแแแแแ. แแฃแจแแแแแก แแ แ แฃแแ แแก แงแแแแแแ แแแแแก แ แแแแแ แแแแก แแ แแก. แแฃ แฉแแแ แงแแแแแแ แแแฆแแแ 50 แแแแแฌแแแจแ แแ แแแแแแแแแแ แแกแ แแแแฎแแแแ, แแแจแแ แแแกแฃแฎแก 50 แแแแแฌแแแจแ แแแแแฆแแแ.
แแแแแแแแ แฉแแแ แแแ แแแชแแแ แแแ แ แแ แแ แแแแแแ HTTP-แแก แแแฌแแ แ แแ แฅแแจแแ แแแ, แฉแแแ แแแแซแฃแแแแ NGINX-แก แงแแแแแคแแ แ แแแแแแแแก แฉแแแแแแแก. แ แแแแ แช แฎแแแแแ, แแงแ แแแแฎแแแแ url/fetch
, แแก แแฅแแ:
แฉแแแ แแแแแ แขแแแแแ proxy_pass
, แฉแแแ แแแแฃแแแแแแ, แกแแ แฃแแแ แฅแแจแ, แ แแแแ แแแแแแแแแ แแก แแ แงแแแแแคแแ แ แแฃแจแแแแก แฉแแแแแแแก.
แแแแ แแ แแก แกแแแแแ แแกแ แแ แแ แแก, แฉแแแ แแแแแช แฃแแแ แแแแชแแ แแแแแชแแแแแ แแแแฎแแแ แแแแแก. แฃแแแ แขแแแแกแ แแแแแ แงแแแแแคแ แแก แกแแ แแฃแแ แแแแแชแแแ JSON-แจแ, แแแ แขแแแแ, แแ แกแขแ แแฅแแแจแ. แฉแแแ แแแซแแแแ Content-Type-แก, แแแซแแแแ JSON-แก.
แแแแ แแ แแ แแก แแ แแ แกแแ แแฃแแ: แแแแฎแแแ แแแแแก แแ แกแฃแ แก JSON-แแก แฌแแแแแฎแแ. แฉแแแ แฃแแแ แแแแแแแแแ แคแ แแแข-แแแแแก แแแแแแแแแ แแแ. แแแแฏแแ แฉแแแ แแ แแแแแแ แแแแก แแแแแแแแ แแแแแแแ. แแ SEO แกแแแชแแแแแกแขแแแ แแขแงแแแแ, แ แแ แแฃ แฉแแแ แแแซแแแ แกแฃแ แแแแแก, แแแจแแ แแแแแแแก แแ แแฅแแก แแแแจแแแแแแแ. แแ แแฃ แแแ แแแ แแแแฃแ แจแแแแแ แกแก แแแแชแแแ, แแกแแแ แแขแงแแแแ, แ แแ แฉแแแแ แกแแซแแแแ แกแแกแขแแแแแ แแ แแคแแ แก แแ แแแแแฅแกแแ แแแแ.
แ แ แฃแแแ แแแแแแแแก แแแแแ? แ แ แแฅแแ แฃแแแ, แแแแฎแแแ แแแแแก แแแแชแแแ HTML-แก. แฎแแแแ แแแแแ แแ แแแ แแ แแ แแก comme il faut, แแแแขแแ แแแแแแ แแแแแแแงแแแแ แจแแแแแแแแ. แแแแกแแแแแก แแ แแก แแแแแแแแแแ lua-resty-template
.
แแฅแแแ แแแแแ แแแแแฎแแแ แกแแแ แกแแจแแแแแ แแกแ OPM. OpenResty-แก แแแแฉแแแ แกแแแฃแแแ แ แแแแแขแแก แแแแแฏแแ แ, แ แแแแแก แแแจแแแแแแแแช แจแแแแซแแแแ แแแแแแกแขแแแแ แแ แกแฎแแแแแกแฎแแ แแแแฃแแ, แแแ แซแแ, lua-resty-template
. แแก แแ แแก แแแ แขแแแ แจแแแแแแแก แซแ แแแ, Django แจแแแแแแแแแก แแกแแแแกแ. แแฅ แจแแแแซแแแแ แแแฌแแ แแ แแแแ แแ แจแแแกแ แฃแแแ แชแแแแแแก แฉแแแแชแแแแแ.
แจแแแแแแ, แงแแแแแคแแ แ แแกแ แแแแแแงแฃแ แแแ:
แฉแแแ แแแแฆแแ แแแแแชแแแแแ แแ แแแแแแแขแแแแ แจแแแแแแ, แแกแแ แแ แกแขแ แแฅแแแจแ. แแแแฎแแแ แแแแแ แแแแแแแ แแ, แแแ แแแแฆแ แแแขแแแ. แแแก แจแแแแแ, แ แแช แแแแฎแแแแ แแแแแคแแ แแแแแ, แแแ แแกแแแ แแแแฆแ แแแฌแแแก แแแญแแแ แแแฃแขแแแแกแแแแก. แแ แแกแแแแก แแชแ, แแฅแแแ แแฃแกแขแแ แแแแก แแซแแแแ, แแแแ แแ แแฎแแแแ แกแฌแแ แแ แแแ แฉแแแแแงแแแแแ.
แงแแแแแคแแ แ แแแแแ แแ, แแแแ แแ แฉแแแ แแแแฃแจแแแแแแก แแ แแชแแกแจแ แแแ แ แแ แฏแแ แแ แแแแแแ แแแฉแแแแแ แแแแฎแแแ แแแแแแก. แแแแแ แแแแแแแแแ แแแขแแ แแแแชแแ. แแแแกแแแแแก แแแแแ แจแแแฎแแแแ, แแฃ แ แแแแ แแแฃแจแแแแแก NGINX แแแแฎแแแแแก OpenResty แแแ แแแแแแ:
- แแแ แแแแ แแขแแแ แแ แแก แจแแแแฎแแ แ, แ แแแแกแแช แแแแฎแแแ แแแแแ แแฎแแแฎแแ แแแแแแ แแ แฉแแแ แแแก แจแแแฎแแแแ แกแแแแฃแ แแแแ, IP แแแกแแแแ แแแ แแ แกแฎแแ แแแแแชแแแแแแ. แฉแแแ แจแแแแแซแแแ แแแจแแแแ แแแแฌแงแแแขแแ, แแฃ แแ แแแแแฌแแแก. แแก แจแแแซแแแแ แแแแแแแงแแแแ แแแขแแ แแแแชแแแกแแแแก, แแ แแฃ แแแแ แแแแฎแแแแแก แแแแแฆแแแ, แแ แคแแแแจแ แแแ แขแแแแ แจแแแแแซแแแ แแแแ แแแฌแงแแแขแ.
- แฎแแแแแแ แ. แฉแแแ แแแแแแฌแแ แ แแแแฎแแแแแก แแแแแแ แ แแแแแชแแแก.
- แจแแแแแ แกแ. แฉแแแ แแแแขแแแขแก แแแฌแแแแ แแแแฎแแแ แแแแแก.
- แกแแแแฃแ แแแแก แคแแแขแ แ. แฉแแแ แแชแแแแ แแแกแฃแฎแแแแก แกแแแแฃแ แแแก. แแฃ แแแแแแแงแแแแ
proxy_pass
, แฉแแแ แจแแแแแซแแแ แแแแแแแฌแแ แแ แ แแแแแแแแ แกแแแแฃแ แ แแแแฎแแแ แแแแแกแแแแก แแแชแแแแแแ. - แกแฎแแฃแแแก แคแแแขแ แ. แฉแแแ แจแแแแแซแแแ แจแแแชแแแแแ แกแฎแแฃแแ.
- แจแแกแแแ - แฎแ-แขแงแ. แแฅแแแ แจแแแแซแแแแ แแแฌแแ แแ แแฃแ แแแแแแ elasticsearch-แจแ แแแแแขแแแแแ แคแแแแก แแแ แแจแ.
แฉแแแแ แแแขแแ แแแแชแแ แแกแ แแแแแแงแฃแ แแแ:
แฉแแแ แแแแก แแแแแแแขแแแ location
, แ แแแแแแช แแแ แ แแฆแแฌแแ แแ แแ แแฅ แแแแแงแแแแ แจแแแแแแ แแแแ:
แฉแแแ แแฃแงแฃแ แแแ, แแแแฅแแก แแฃ แแ แ แฅแฃแฅแ-แขแแแแแ. แแฃ แแ แ, แแแจแแ แแแแฎแแแ แแแขแแ แแแแชแแแก. แแแแฎแแแ แแแแแแ แชแแแแ แแแ แแ แแแ แแ แจแแฃแซแแแแ แแแแแแชแแแ, แ แแ แแแ แฃแแแ แแแแงแแแแ แฅแฃแฅแ-แขแแแแแ. แแแแขแแ, แฉแแแ แแกแแแ แฉแแแแแแ แแแก Redis-แจแ:
Redis-แแแ แแฃแจแแแแแก แแแแ แซแแแแแ แแแ แขแแแแ แแ แแ แแคแ แแ แแแแกแฎแแแแแแแ แกแฎแแ แแแแแแกแแแ. แแแแแแ แแฃแแแ, แงแแแแ แจแแงแแแแ/แแแแแแแแแแ, แแฅ แแ แแฅ, แแ แแแแแแแแ. แแฃ แแฅแแแ แฌแแ แ แกแแแฅแ แแแฃแ แแแแก, แแก แแฃแจแแแแก แแกแแแฅแ แแแฃแแแ. แแแแฅแแแก แ แแแแ แช แแแแแแขแ, แแแแ แแ แแแ แแแ แแแแแแแแฃแแ.
แแแแแ แแแแแแแแแ แแแขแแ แแแแชแแ แแแแแ:
แฉแแแ แแแแแแแ, แ แแ แฃแแแ แฌแแแแแแแฎแแ แแแแฎแแแแแก แแแฌแแแ. แฉแแแ แแแฆแแแ POST แแ แแฃแแแแขแแแก แแ แแแแแฌแแแแ, แ แแ แจแแกแแแ แแ แแแ แแแ แกแฌแแ แแ. แแฃ แแกแแแ แแ แแกแฌแแ แแ, แแแจแแ แฉแแแ แแแฌแแแแ แแแขแแ แแแแชแแแกแแแแก. แแ แแฃ แกแฌแแ แแ, แแแจแแ แฉแแฌแแ แแ แแแขแแแ Redis-แจแ:
แแ แแแแแแแฌแงแแแ แฅแฃแฅแ-แคแแแแแก แแแงแแแแแ, แแก แแกแแแ แแแแแแแ แแ แกแขแ แแฅแแแจแ:
แแแแแแแแ แแแ แขแแแ แแ แกแแแแฃแแแชแแฃแ แแ. แ แ แแฅแแ แฃแแแ, แฉแแแ แแ แแแแแแแแแแ แกแแ แแแกแก, แ แแแแแแช แฎแแแฎแก แแแขแแแก แแฉแแแแแแก. แแแแ แแ แแแ แแแแชแแแแก. แแแแแ แแแแแแแแแ แแแแแ, แแฃ แ แ แจแแแซแแแแ แแแแแแแแก แฌแแ แแแแแแจแ.
- แแแแแแแแแกแขแฃแ แ แฃแแแแ แแแฌแแแ. แแแแฏแแ แฉแแแ แแแญแแ แแแแ แแฎแแแแ แแชแแ แ แ แแแแแแแแแก แแแแแชแแแแแแก แแแแแขแแแ แแแฅแแแแจแ: แกแแแฆแแช แฃแแแ แฉแแแกแแแ แแแ แแฆแ, แกแแแฆแแช แฃแแแ แแแแแแแฉแแแแ แกแแ, แแแฅแแแ แ แแแแแแ แแแแฎแแแ แแแแแแ แกแแแขแแ แแฎแแ, แแแฃแ แแแ แแ แแชแฎแแแแ แแ แกแขแแขแแกแขแแแ. แ แแฆแแช แแกแแแ แแแขแแ แ. แแแแแแ แแ แแแแแแแแฃแ แ แแแฌแแแแก แแแแแแแแแ แซแแแแแ แแแ แขแแแแ แจแแแซแแแแ. แแก แแแฎแแแก แแแก แกแฌแ แแค, แแแ แขแแ แแ แจแแกแแแแจแแแแแ.
- แแแแแชแแแแ แฌแแแแกแฌแแ แ แแแแฃแจแแแแแ. แแแแฏแแ แแแกแฃแ แก แ แแแแแแแก แฉแแกแแ แฉแแแแก แแแแ แแแ แแ แแ แ แแแแแแแก แแแฆแแแ API แแแแฎแแแแแแแก แแแแแงแแแแแแ. แแแแก แแแแแแแแ แแฅ แซแแแแแ แแแแแแแ. แฉแแแ แแ แแขแแแ แแแแ แฉแแแแก แแแฅแแแแก, แ แแแแแแช แฃแแแ แแแก แแ แแฃแจแแแแก. แจแแแแซแแแแ แแแฆแแ แแ แจแแแแ แแแแ แแฅ. แฉแแแ แจแแแแแซแแแ แแแแแแ แแแแแแ แแแแแแ แแ JS แแ, แแแ แแฅแแ, แแแแฎแกแแแ แแแ แแ แฌแแแแกแฌแแ แแแแแแฃแจแแแ แ แแฆแแช, แกแแแแ แแแแฎแแแ แแแแแก แแแแชแแแ.
- แคแแกแแแ แแแแ แแกแแ แแแกแแกแแแแก. แแกแแช แซแแแแแ แแแ แแ แจแแแแฎแแแแแ, แแแแแแฎแแ แชแแแแ. แแแแแแแ แแแฃแจแแแแแ แขแแแแแ แจแ, แแแแแแแแแจแ, แ แแแแแแช แแฌแแแ แแแแฅแขแ แแแฃแ แแแแแ แแจแแแแแก แแ แแฌแแแแก แแแแแ แแจแแแแแก แฅแแแงแแแก แแฃแ แแแแฃแแ แแแ แแแแก แแแแฎแแแแแแ แแแฎแแแแ แก. แฉแแแ แจแแแฅแแแแแ แกแแ แแแกแ, แแฅ แแแแ แ แ แแ แแแแแแแ แแแแแ แแแฅแแแแแแแ: แแแ แจแ แฃแขแแแแชแแ, แแแขแแ แแแแชแแ แแ แกแฎแแ.
OpenResty แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แ แแแแ แช แฌแแแ แแฅแแแแ แแแแ แแกแแ แแแกแแแแกแแแแก, แ แแช แฃแแ แฃแแแแแงแแคแก แงแแแแแคแแ แแ แแ แแแแ แฌแแแแแแก แแ แแ แ แแแขแแ แคแแแกแก. แแแแแแแแ แแแแ แแกแแ แแแกแแแ แจแแแซแแแแ แแแแฌแแ แแก แแกแ, แ แแ แแฅแแแ แแฅแแแแแ Node.js แแฅ, PHP แแฅ, แแแแแแ แแฅ, แ แแฆแแช Erlang แแฅ, แฉแแแ แแแแกแแแก, แ แแ แแ แแแแแแ แงแแแแแแ แแ แแ แแ แแแแแ แแแแแก แแแแแฌแแ แ. แแแแขแแ, OpenResty แจแแแซแแแแ แฉแแแ แแแก แฌแแแ แแฎแแ แแก. - แกแขแแขแแกแขแแแ แแ แแแแแแขแแแ. แฉแแแฃแแแแ แแ, NGINX แแ แแก แจแแกแแกแแแแแแแ แแ แงแแแแ แแแแฎแแแแ แแแแแก แแแกแจแ. แกแฌแแ แแ แแ แแแแแแแก แแ แแก แซแแแแแ แแแกแแฎแแ แฎแแแแแ แจแแแ แแแแแ. แจแแแแซแแแแ แกแแกแฌแ แแคแแ แแแแแแแแแแ แ แแฆแแช แแ แแขแแแ แแแ แกแแแแ, แแแแแแแแแ, Elasticsearch, Logstash, แแ แฃแแ แแแแ แฉแแฌแแ แแ แแฃแ แแแแจแ แแ แจแแแแแ แแแแแแแแแ แกแแแแ.
- แแ แแแแ แแแแฎแแแ แแแแแก แกแแกแขแแแแแ. แแแแแแแแแ, แแแแแแ แแแแแจแแแแช แซแแแแแ แแแ แแ แแแกแแแแแแแแแแ. แแฆแแก แแแแแขแแฃแแจแ, แแแแฅแกแแแแ แ แแแแแแจแ แแกแแฃแแ แแแก แแแแแ, แแฃ แ แแแแ แกแฌแ แแคแแ แแแแฌแงแแ แแ แแแแแแแแแแแจแแแแ แแแแแจแ OpenResty-แแก แแแแแงแแแแแแ.
- แคแแแขแ แแชแแแก แแแแฎแแแแ (WAF). แแฆแแกแแฆแแแแแ แแแแฃแ แแ แงแแแแ แกแแฎแแก แแแ แแแแแแแชแแแก แคแแแแ แแแแแแแก แแแแแแแแแ; แแแ แแฅแแ แแ แแแแแ แกแแ แแแกแ. OpenResty-แแก แแแแแงแแแแแแ แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แแแ แแแแแแแชแแแก แแฃแฎแแ แ, แ แแแแแแช แแแ แขแแแแ แแ แแแ แขแแแแ แแแคแแแขแ แแแก แแแแฎแแแแแแก แแฅแแแแ แแแแฎแแแแแแแก แจแแกแแแแแแกแแ. แแฃ แแฅแแแ แแแฅแแ Python, แแแจแแ แแแกแแแ, แ แแ PHP แแแแแแแแแ แแ แแฅแแแแ แแฅแแแแจแ แแแแฅแชแแ, แแฃ, แ แ แแฅแแ แฃแแแ, แแ แแแแกแฎแแ แแแก แกแแแแ แแแแกแแแแแแ. แแฅแแแ แแชแแ, แ แแ แแแฅแแ MySQL แแ Python. แแแแแ, แแกแแแ แจแแแซแแแแ แจแแแชแแแแ แแแแแฎแแ แชแแแแแ แ แแแแ แกแแฎแแก แแแ แแฅแขแแ แแแจแ แแแแแแแแแแแแ แแ แ แแแแแก แจแแงแแแแ แแแแแชแแแแ แแแแแจแ. แแฅแแแแ แแแแแแแแแแ แ, แจแแแแซแแแแ แกแฌแ แแคแแ แแ แแแคแแ แแแคแแแขแ แแ แฃแชแแแฃแ แ แแแแฎแแแแแแ แแแ แแแแแ แฌแแแ แแฎแแ แแก.
- แกแแแแแแแแแแ แแแแแแแแ OpenResty แแแแแฃแแแ NGINX-แแ, แแแก แแฅแแก แแแแฃแกแ: NGINX แกแแแแแแแแแแ. แแก แซแแแแแ แแแแแ แแ แแแแฎแแแแแก แกแแแแแฃแ แ แแแฌแแแ, แ แแแแแแช แแแแแแแ แแแฅแแแแแ, แฃแแแ แแแแแญแ แแแแ NGINX แกแแแแแแแแแแแก แแแแ .
แแฃแแก แแแแแแแแแ แแแ. แแฃแจแแ HighLoad++ แขแ แแแแแแแ แแแกแฃแ แแแญแแแก แแแแแแแ แแแ แแ แแแแแแ, แ แแ แแฃแแจแ แแฎแแแแ Tarantool แแฌแแ แ. แแก แแกแ แแ แแ แแก, แแฃแแจแ แแแแ แ แ แแ แฌแแ แแ. แแแแแแแแแแ: OpenResty, Prosody XMPP แกแแ แแแ แ, Love2D แแแแแจแแก แซแ แแแ, Lua แแแฌแแ แแแ Warcraft-แจแ แแ แกแฎแแแแแ. แแฃแแก แแแแแแแแแ แแแ แแแแ แแ, แแแ แแฅแแ แแแแ แแ แกแแแแกแฃแฎแ แกแแแแแแแแแแ. แฉแแแ แแฃแแก แงแแแแ แแแแฎแแ แ แแแแแแแแ แกแแแแจแ แแแแแแ แแ. แ แแแแกแแช แแฅแแแ แฌแแ แ แแแแแแแแแก แกแแแก, แคแแฅแขแแฃแ แแ แ แแแแแแแแ แฌแฃแแจแ แฃแแแ แแ แแก แฃแแแ แแแ แแแกแฃแฎแ, แกแแแแช แแฆแฌแแ แแแแ แ แ แแ แ แแแแ , แ แ แแ แแก แ แ. แฒจแแกแแแแจแแแแแ. แกแแแฌแฃแฎแแ แแ, แแกแแแ แแแแแแ, แกแฃแแแแ แ แกแแแแแแแแแแ แงแแแแแแ แแ แแ แแก.
แแ แแก GitHub OpenResty-แกแแแแก, แกแแแแช แจแแแแซแแแแ แแแฎแกแแแ แกแแแแแฎแ, แแฃ แ แแแ แแแขแแฎแแแแ. Google Groups-แจแ แแ แแก แกแแคแแกแขแ แกแแ, แกแแแแช แจแแแแซแแแแ แแแแแฎแแแแ แแแแแแ แกแแแแแฎแแแ, แแ แแก แกแแคแแกแขแ แกแแ แฉแแแฃแ แแแแแ - แแฅแแแ แแ แแกแแแแก แแชแแ, แจแแกแแซแแแ แแแแแแกแฃแ แแ แแ แแแแแ แแแแแแแ, แแแแ แแ แแชแแ แฉแแแฃแ แ.
แจแแแแแแแ
- แแแแแแแแแแ, แ แแ แจแแแซแแแ แแแแแแแชแแ, แ แแ OpenResty แแ แแก แซแแแแแ แแแกแแฎแแ แฎแแแแแ แฉแแ แฉแ, แ แแแแแแช แแแ แแแแฃแแแ แแแแแ.
- แแแก แแฅแแก แแแแแแ แแแ แแแ แ แจแแกแแแแกแแแแก, แ แแแแแ แแแแ แแกแแแแกแแ แ แแกแแช แฉแแแ แแฌแแ แ, แแแ แกแแแแแแ แแแ แขแแแ แแ แแแแแแแแแกแขแฃแ แแ.
- แแก แฃแแ แฃแแแแแงแแคแก แแกแแแฅแ แแแฃแ I/O-แก แแแแแซแแฎแแแแก แแแ แแจแ, แฉแแแ แแ แแแแฅแแแแ แ แแแแ noodles, แ แแแแ แแช แจแแแซแแแแ แแแแฏแแ NodeJS-แจแ แฉแแแฌแแ แแ.
- แแแก แแฅแแก แแแ แขแแแ แแแแแแแแแ, แ แแแแแ แฉแแแ แแแญแแ แแแแ แแฎแแแแ NGINX แกแแญแแ แ แแแแฃแแแ แแ แฉแแแแ แแแแแ แแ แงแแแแแคแแ แ แแฃแจแแแแก แแแฃแงแแแแแแแแ.
- แแแแ แแ แกแแแแกแฃแฎแ แกแแแแแแแแแแ.
แแแขแแแฃแ แแ แแ แแแแฅแแแแก, แ แแแแ แแแแแแแ แแแ แจแ แฃแขแแแแชแแ, แซแแแแแ แแ แซแแแ แแแแแแ แแฆแแแฉแแแ.
แแแแ แแแแแแแ!
แฌแงแแ แ: www.habr.com