เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡เช…เชฎเซ‡ เช•เซ‹เชจเซเชซเชฐเชจเซเชธ เชฐเชฟเชชเซ‹เชฐเซเชŸเชจเซ€ เชŸเซเชฐเชพเชจเซเชธเช•เซเชฐเชฟเชชเซเชŸ เชซเชฐเซ€เชฅเซ€ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชนเชพเช‡เชฒเซ‹เชก++ 2016, เชœเซ‡ เช—เชฏเชพ เชตเชฐเซเชทเซ‡ 7-8 เชจเชตเซ‡เชฎเซเชฌเชฐเชจเชพ เชฐเซ‹เชœ เชฎเซ‹เชธเซเช•เซ‹ เชจเชœเซ€เช• เชธเซเช•เซ‹เชฒเซเช•เซ‹เชตเซ‹เชฎเชพเช‚ เชฅเชฏเซเช‚ เชนเชคเซเช‚. เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชชเซเชฐเซ‹เชŸเชพเชธเซ‹เชต OpenResty เช…เชจเซ‡ Lua เชธเชพเชฅเซ‡ NGINX เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเชฟเชธเซเชคเชพเชฐเชตเซ€ เชคเซ‡ เชธเชฎเชœเชพเชตเซ‡ เช›เซ‡.

เชฌเชงเชพเชจเซ‡ เชนเซ‡เชฒเซ‹, เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชชเซเชฐเซ‹เชŸเชพเชธเซ‹เชต เช›เซ‡, เชนเซเช‚ เชชเซ‡เชฐเซ‡เชฒเชฒเซเชธ เชชเชฐ เช•เชพเชฎ เช•เชฐเซเช‚ เช›เซเช‚. เชนเซเช‚ เชคเชฎเชจเซ‡ เชฎเชพเชฐเชพ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚ เช•เชนเซ€เชถ. เชนเซเช‚ เชฎเชพเชฐเชพ เชœเซ€เชตเชจเชจเซ‹ เชคเซเชฐเชฃ เชšเชคเซเชฐเซเชฅเชพเช‚เชถ เช•เซ‹เชก เชฒเช–เชตเชพเชฎเชพเช‚ เชชเชธเชพเชฐ เช•เชฐเซเช‚ เช›เซเช‚. เชนเซเช‚ เชถเชพเชฌเซเชฆเชฟเช• เช…เชฐเซเชฅเชฎเชพเช‚ เชฎเซเช–เซเชฏ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เชฌเชจเซเชฏเซ‹: เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชนเซเช‚ เชฎเชพเชฐเชพ เชธเชชเชจเชพเชฎเชพเช‚ เช•เซ‹เชก เชœเซ‹เช‰เช‚ เช›เซเช‚. เชœเซ€เชตเชจเชจเซ‹ เชเช• เช•เซเชตเชพเชฐเซเชŸเชฐ เช”เชฆเซเชฏเซ‹เช—เชฟเช• เชตเชฟเช•เชพเชธ เช›เซ‡, เช•เซ‹เชก เชฒเช–เชตเชพเชจเซเช‚ เชœเซ‡ เชธเซ€เชงเชพ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เชœเชพเชฏ เช›เซ‡. เชเช• เช•เซ‹เชก เชœเซ‡เชจเซ‹ เชคเชฎเชพเชฐเชพเชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช• เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ‹ เช–เซเชฏเชพเชฒ เชจเชฅเซ€ เช†เชตเชคเซ‹.

เชคเซ‡เชฅเซ€ เชคเชฎเซ‡ เชธเชฎเชœเซ‹ เช›เซ‹ เช•เซ‡ เชคเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เช–เชฐเชพเชฌ เชนเชคเซเช‚. เชœเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เชฅเซ‹เชกเซ‹ เชœเซเชจเชฟเชฏเชฐ เชนเชคเซ‹, เชคเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เช†เชตเซเชฏเซ‹ เช…เชจเซ‡ เชฎเชจเซ‡ เช† เชฌเซ‡-เชŸเซ‡เชฐเชพเชฌเชพเชˆเชŸ เชกเซ‡เชŸเชพเชฌเซ‡เช เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ. เชนเชตเซ‡ เช…เชนเซ€เช‚ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชคเซ‡ เชตเชงเซ เชญเชพเชฐ เช›เซ‡. เชนเซเช‚ เชชเชฐเชฟเชทเชฆเซ‹เชฎเชพเช‚ เช—เชฏเซ‹ เช…เชจเซ‡ เชชเซ‚เช›เซเชฏเซเช‚: "เช—เชพเชฏเซเชธ, เชฎเชจเซ‡ เช•เชนเซ‹, เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฎเซ‹เชŸเซ‹ เชกเซ‡เชŸเชพ เช›เซ‡, เชฌเชงเซเช‚ เชธเชฐเชธ เช›เซ‡? เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซเชฏเชพเช‚ เช•เซ‡เชŸเชฒเชพ เชชเชพเชฏเชพ เช›เซ‡? เชคเซ‡เช“เช เชฎเชจเซ‡ เชœเชตเชพเชฌ เช†เชชเซเชฏเซ‹: "เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 100 เช—เซ€เช—เชพเชฌเชพเช‡เชŸเซเชธ เช›เซ‡!" เชฎเซ‡เช‚ เช•เชนเซเชฏเซเช‚: "เช•เซ‚เชฒ, 100 เช—เซ€เช—เชพเชฌเชพเช‡เชŸเซเชธ!" เช…เชจเซ‡ เชนเซเช‚ เชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชตเชฟเชšเชพเชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เชฎเชพเชฐเชพ เชชเซ‹เช•เชฐ เชšเชนเซ‡เชฐเชพเชจเซ‡ เชœเชพเชณเชตเซ€ เชถเช•เชพเชฏ. เชคเชฎเซ‡ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‹, เชนเชพ, เช›เซ‹เช•เชฐเชพเช“ เชธเชฐเชธ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชคเชฎเซ‡ เชชเชพเช›เชพ เชœเชพเช“ เช…เชจเซ‡ เช† เชฎเชฒเซเชŸเซ€-เชŸเซ‡เชฐเชพเชฌเชพเช‡เชŸ เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡เชธ เชธเชพเชฅเซ‡ เชŸเชฟเช‚เช•เชฐ เช•เชฐเซ‹. เช…เชจเซ‡ เช† เชœเซเชจเชฟเชฏเชฐ เช›เซ‡. เชถเซเช‚ เชคเชฎเซ‡ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เช† เช•เซ‡เชตเซ‹ เชซเชŸเช•เซ‹ เช›เซ‡?

เชนเซเช‚ 20 เชฅเซ€ เชตเชงเซ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“ เชœเชพเชฃเซเช‚ เช›เซเช‚. เช† เชเชตเซ€ เชตเชธเซเชคเซ เช›เซ‡ เชœเซ‡ เชฎเชจเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฌเชนเชพเชฐ เช•เชพเชขเชตเชพเชจเซ€ เชนเชคเซ€. เชคเซ‡เช“ เชคเชฎเชจเซ‡ Erlang, C, C++, Lua, Python, Ruby, เช•เช‚เชˆเช• เชฌเซ€เชœเซเช‚ เช•เซ‹เชก เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ เชคเซ‡ เชฌเชงเซเช‚ เช•เชพเชชเชตเซเช‚ เชชเชกเชถเซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชฎเชพเชฐเซ‡ เช•เชฐเชตเซเช‚ เชชเชกเซเชฏเซเช‚. เชšเซ‹เช•เซเช•เชธ เชธเช‚เช–เซเชฏเชพเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเชตเซ€ เชถเช•เซเชฏ เชจ เชนเชคเซ€, เชชเชฐเช‚เชคเซ 20เชฎเซ€เชจเซ€ เช†เชธเชชเชพเชธ เช•เซเชฏเชพเช‚เช• เช†เช‚เช•เชกเซ‹ เช–เซ‹เชตเชพเชˆ เช—เชฏเซ‹ เชนเชคเซ‹.

เชธเชฎเชพเช‚เชคเชฐ เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช†เชชเชฃเซ‡ เชถเซเช‚ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เชนเชพเชœเชฐ เชฆเชฐเซ‡เช•เชจเซ‡ เช–เชฌเชฐ เชนเซ‹เชตเชพเชฅเซ€, เช†เชชเชฃเซ‡ เช•เซ‡เชŸเชฒเชพ เช•เซ‚เชฒ เช›เซ€เช เช…เชจเซ‡ เช†เชชเชฃเซ‡ เชถเซเช‚ เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เชตเชฟเชถเซ‡ เชนเซเช‚ เชตเชพเชค เช•เชฐเซ€เชถ เชจเชนเซ€เช‚. เชนเซเช‚ เชคเชฎเชจเซ‡ เชซเช•เซเชค เชเชŸเชฒเซเช‚ เชœ เช•เชนเซ€เชถ เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชตเชฟเชถเซเชตเชญเชฐเชฎเชพเช‚ 13 เช“เชซเชฟเชธเซ‹ เช›เซ‡, 300 เชฅเซ€ เชตเชงเซ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“, เชฎเซ‹เชธเซเช•เซ‹, เชŸเซ‡เชฒเชฟเชจ เช…เชจเซ‡ เชฎเชพเชฒเซเชŸเชพเชฎเชพเช‚ เชตเชฟเช•เชพเชธ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชˆเชšเซเช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชฒเชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชฎเชพเชฒเซเชŸเชพ เชœเชˆ เชถเช•เซ‹ เช›เซ‹ เชœเซ‹ เชถเชฟเชฏเชพเชณเชพเชฎเชพเช‚ เช เช‚เชกเซ€ เชนเซ‹เชฏ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ€เช  เช—เชฐเชฎ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ.

เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เช…เชฎเชพเชฐเซ‹ เชตเชฟเชญเชพเช— เชชเชพเชฏเชฅเซ‹เชจ 2 เชฎเชพเช‚ เชฒเช–เซ‡ เช›เซ‡. เช…เชฎเซ‡ เชตเซเชฏเชตเชธเชพเชฏเชฎเชพเช‚ เช›เซ€เช เช…เชจเซ‡ เชซเซ‡เชถเชจเซ‡เชฌเชฒ เชŸเซ‡เช•เซเชจเซ‰เชฒเซ‰เชœเซ€ เชฒเชพเช—เซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเชฎเชฏ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชธเชนเชจ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเซ‡ Django เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชฌเชงเซเช‚ เช›เซ‡, เช…เชจเซ‡ เช…เชฎเซ‡ เชœเซ‡ เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚ เชคเซ‡ เชฒเซ€เชงเซเช‚ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชซเซ‡เช‚เช•เซ€ เชฆเซ€เชงเซเช‚. MySQL, Redis เช…เชจเซ‡ NGINX เชชเชฃ. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ€เชœเซ€ เช˜เชฃเซ€ เชธเชฐเชธ เชตเชธเซเชคเซเช“ เชชเชฃ เช›เซ‡. เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฎเซ‹เช‚เช—เซ‹เชกเซ€เชฌเซ€ เช›เซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเชธเชฒเชพ เช›เซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเชงเซเช‚ เช›เซ‡ - เชชเชฐเช‚เชคเซ เชคเซ‡ เชฎเชพเชฐเซเช‚ เชจเชฅเซ€, เช…เชจเซ‡ เชนเซเช‚ เชคเซ‡ เช•เชฐเชคเซ‹ เชจเชฅเซ€.

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€

เชฎเซ‡เช‚ เชฎเชพเชฐเชพ เชตเชฟเชถเซ‡ เช•เชนเซเชฏเซเช‚. เชšเชพเชฒเซ‹ เชœเชพเชฃเซ€เช เช•เซ‡ เช†เชœเซ‡ เชนเซเช‚ เชถเซเช‚ เชตเชพเชค เช•เชฐเชตเชพ เชœเชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚:

  • เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€ เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชถเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช–เชตเชพเชฏ เช›เซ‡?
  • เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ Python, NodeJS, PHP, Go เช…เชจเซ‡ เช…เชจเซเชฏ เชถเชพเชจเชฆเชพเชฐ เชตเชธเซเชคเซเช“ เชนเซ‹เชฏ เช•เซ‡ เชœเซ‡เชจเชพเชฅเซ€ เชฆเชฐเซ‡เช• เช–เซเชถ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชฌเซ€เชœเชพ เชตเซเชนเซ€เชฒเชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเซ‹เชงเชตเซเช‚?
  • เช…เชจเซ‡ เชœเซ€เชตเชจเชฎเชพเช‚เชฅเซ€ เชฅเซ‹เชกเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹. เชฎเชพเชฐเซ‡ เชฐเชฟเชชเซ‹เชฐเซเชŸเชฎเชพเช‚ เช˜เชฃเซ‹ เช˜เชŸเชพเชกเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชฎเชพเช‚ เชฎเชจเซ‡ 3,5 เช•เชฒเชพเช•เชจเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซเชฏเซ‹ เชนเชคเซ‹, เชคเซ‡เชฅเซ€ เชฅเซ‹เชกเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชนเชถเซ‡.

OpenResty NGINX เช›เซ‡. เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เช†เชญเชพเชฐ, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเซเชตเชฟเชงเชพเชฏเซเช•เซเชค เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เช›เซ‡ เชœเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชเชกเชชเชฅเซ€ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช†เชชเชฃเชพเชฎเชพเช‚เชฅเซ€ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชฒเซ‹เช•เซ‹ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ NGINX เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชคเชฎเซ‡ เชฌเชงเชพ เชœเชพเชฃเซ‹ เช›เซ‹ เช•เซ‡ เชคเซ‡ เชเชกเชชเซ€ เช…เชจเซ‡ เช•เซ‚เชฒ เช›เซ‡. เชคเซ‡เช“เช เชคเซ‡เชฎเชพเช‚ เชถเชพเชจเชฆเชพเชฐ เชธเชฟเช‚เช•เซเชฐเชจเชธ I/O เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเชพเชฐเซ‡ เช•เช‚เชˆเชชเชฃ เชธเชพเชฏเช•เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชœเซ‡เชฎ เช•เซ‡ เชคเซ‡เช“เช เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚. Gevent เชธเชฐเชธ, เชธเชฐเชธ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ C เช•เซ‹เชก เชฒเช–เซ‹ เช›เซ‹ เช…เชจเซ‡ เช•เช‚เชˆเช• เช–เซ‹เชŸเซเช‚ เชฅเชพเชฏ เช›เซ‡, เชคเซ‹ Gevent เชธเชพเชฅเซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซเชฐเซ‡เชเซ€ เชฅเชˆ เชœเชถเซ‹. เชฎเชจเซ‡ เช…เชจเซเชญเชต เชนเชคเซ‹: เชคเซเชฏเชพเช‚ เชถเซเช‚ เช–เซ‹เชŸเซเช‚ เชฅเชฏเซเช‚ เช›เซ‡ เชคเซ‡ เชธเชฎเชœเชตเชพเชฎเชพเช‚ เช†เช–เชพ เชฌเซ‡ เชฆเชฟเชตเชธ เชฒเชพเช—เซเชฏเชพ. เชœเซ‹ เช•เซ‹เชˆ เชตเซเชฏเช•เซเชคเชฟเช เช•เซ‡เชŸเชฒเชพเช‚เช• เช…เช เชตเชพเชกเชฟเชฏเชพ เชธเซเชงเซ€ เช–เซ‹เชฆเช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชจ เชนเซ‹เชค, เชธเชฎเชธเซเชฏเชพ เชจ เชฎเชณเซ€ เชนเซ‹เชค, เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชฒเช–เซเชฏเซเช‚ เชนเซ‹เชค, เช…เชจเซ‡ เช—เซ‚เช—เชฒเชจเซ‡ เชคเซ‡ เชฎเชณเซเชฏเซเช‚ เชจ เชนเซ‹เชค, เชคเซ‹ เช†เชชเชฃเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชชเชพเช—เชฒ เชฅเชˆ เช—เชฏเชพ เชนเซ‹เชค.

NGINX เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เซ‡เชถเซ€เช‚เช— เช…เชจเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชธเชพเชฎเช—เซเชฐเซ€ เช›เซ‡. เชคเชฎเชพเชฐเซ‡ เชฎเชพเชจเชตเซ€เชฏ เชฐเซ€เชคเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชšเชฟเช‚เชคเชพ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชœเซ‡เชฅเซ€ เชคเชฎเซ‡ เช•เซเชฏเชพเช‚เช• เชงเซ€เชฎเซเช‚ เชจ เชฅเชˆ เชœเชพเช“, เชœเซ‡เชฅเซ€ เชคเชฎเซ‡ เช•เซเชฏเชพเช‚เช• เชตเชฐเซเชฃเชจเช•เชฐเซเชคเชพ เช—เซเชฎเชพเชตเชถเซ‹ เชจเชนเซ€เช‚. Nginx เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เช…เชจเซเช•เซ‚เชณ เช›เซ‡, เชคเชฎเชพเชฐเซ‡ เชถเซเช‚ เชฒเซ‡เชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ - WSGI, PHP-FPM, Gunicorn, Unicorn. Nginx เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชเชกเชฎเชฟเชจเซเชธเชจเซ‡ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชคเซ‡เช“ เชœเชพเชฃเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚. Nginx เชธเช‚เชฐเชšเชฟเชค เชฐเซ€เชคเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡. เชนเซเช‚ เช† เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซ€ เชตเชพเชฐ เชชเช›เซ€ เชตเชพเชค เช•เชฐเซ€เชถ. เชŸเซ‚เช‚เช•เชฎเชพเช‚, เชคเซ‡ เชเช• เชคเชฌเช•เซเช•เซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เชฃเซ‡ เชนเชฎเชฃเชพเช‚ เชœ เชตเชฟเชจเช‚เชคเซ€ เชธเซเชตเซ€เช•เชพเชฐเซ€, เช•เซเชฏเชพเชฐเซ‡ เชคเซ‡เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชธเชพเชฎเช—เซเชฐเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡.

Nginx เช•เซ‚เชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เชเช• เชธเชฎเชธเซเชฏเชพ เช›เซ‡: เชคเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เชฒเชตเชšเซ€เช• เชจเชฅเซ€, เชคเซ‡ เชฌเชงเซ€ เชถเชพเชจเชฆเชพเชฐ เชธเซเชตเชฟเชงเชพเช“ เชธเชพเชฅเซ‡ เชชเชฃ เช•เซ‡ เชœเซ‡เช“ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชฎ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เชฐเซ‚เชชเชฐเซ‡เช–เชพเชฎเชพเช‚ เช˜เซ‚เชธเซ€ เช—เชฏเชพ เช›เซ‡. เช† เชถเช•เซเชคเชฟ เชชเซ‚เชฐเชคเซ€ เชจเชฅเซ€. เชเชŸเชฒเชพ เชฎเชพเชŸเซ‡ เชคเชพเช“เชฌเชพเช“เชจเชพ เชฒเซ‹เช•เซ‹เช, เช˜เชฃเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ, เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช†เช  เชตเชฐเซเชท เชชเชนเซ‡เชฒเชพเช‚, เชคเซ‡เชฎเชพเช‚ เชฒเซเช† เชฌเชจเชพเชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชคเซ‡ เชถเซเช‚ เช†เชชเซ‡ เช›เซ‡?

  • เช•เชฆ. เชคเซ‡ เชจเชพเชจเซเช‚ เช›เซ‡. LuaJIT เชฒเช—เชญเช— 100-200 เช•เชฟเชฒเซ‹เชฌเชพเชˆเชŸ เชฎเซ‡เชฎเชฐเซ€ เช“เชตเชฐเชนเซ‡เชก เช…เชจเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชชเชฐเชซเซ‹เชฐเซเชฎเชจเซเชธ เช“เชตเชฐเชนเซ‡เชก เช†เชชเซ‡ เช›เซ‡.
  • เชเชกเชช. LuaJIT เชฆเซเชญเชพเชทเชฟเชฏเชพ เช˜เชฃเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ C เชจเซ€ เชจเชœเซ€เช• เช›เซ‡, เช•เซ‡เชŸเชฒเซ€เช• เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ เชคเซ‡ เชœเชพเชตเชพ เชธเชพเชฎเซ‡ เชนเชพเชฐเซ€ เชœเชพเชฏ เช›เซ‡, เช…เชจเซเชฏเชฎเชพเช‚ เชคเซ‡ เชคเซ‡เชจเชพเชฅเซ€ เช†เช—เชณ เชจเซ€เช•เชณเซ€ เชœเชพเชฏ เช›เซ‡. เช•เซ‡เชŸเชฒเชพเช• เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชคเซ‡ เช•เชฒเชพเชจเซเช‚ เชฐเชพเชœเซเชฏ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเชคเซเช‚ เชนเชคเซเช‚, เชถเชพเชจเชฆเชพเชฐ JIT เช•เชฎเซเชชเชพเช‡เชฒเชฐ. เชนเชตเซ‡ เชคเซเชฏเชพเช‚ เช เช‚เชกเชพ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เช–เซ‚เชฌ เชญเชพเชฐเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชธเชฎเชพเชจ V8. เช•เซ‡เชŸเชฒเชพเช• JS เชฆเซเชญเชพเชทเชฟเชฏเชพ เช…เชจเซ‡ Java HotSpot เช•เซ‡เชŸเชฒเชพเช• เชฌเชฟเช‚เชฆเซเช“ เชชเชฐ เชเชกเชชเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเชพเช• เชธเซเชฅเชณเซ‹เช เชคเซ‡เช“ เชนเชœเซ เชชเชฃ เช—เซเชฎเชพเชตเซ‡ เช›เซ‡.
  • เชถเซ€เช–เชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชฐเซเชฒ เช•เซ‹เชก เชฌเซ‡เช เช›เซ‡, เช…เชจเซ‡ เชคเชฎเซ‡ เชฌเซเช•เชฟเช‚เช— เชจเชฅเซ€ เช•เชฐเชคเชพ, เชคเซ‹ เชคเชฎเชจเซ‡ เชชเชฐเซเชฒ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเซเชธ เชฎเชณเชถเซ‡ เชจเชนเซ€เช‚. เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจเชฅเซ€, เชคเซ‡เช“ เชฌเชงเชพ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชถเซ€เช–เชตเชตเซเช‚ เชฒเชพเช‚เชฌเซ เช…เชจเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เช…เชจเซเชฏ เช•เซ‹เชˆ เชตเชธเซเชคเซ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเซเชธ เชˆเชšเซเช›เซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชฎเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชคเชพเชฒเซ€เชฎ เช†เชชเชตเซ€ เชชเชกเชถเซ‡ เช…เชฅเชตเชพ เชคเซ‡เชฎเชจเซ‡ เชถเซ‹เชงเชตเชพ เชชเชกเชถเซ‡. เชฒเซเช†เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฌเชงเซเช‚ เชธเชฐเชณ เช›เซ‡. เช•เซ‹เชˆเชชเชฃ เชœเซเชจเชฟเชฏเชฐ เชคเซเชฐเชฃ เชฆเชฟเชตเชธเชฎเชพเช‚ เชฒเซเช† เชถเซ€เช–เซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡ เชœเชพเชฃเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชจเซ‡ เชฒเช—เชญเช— เชฌเซ‡ เช•เชฒเชพเช• เชฒเชพเช—เซเชฏเชพ. เชฌเซ‡ เช•เชฒเชพเช• เชชเช›เซ€ เชนเซเช‚ เชชเซเชฐเซ‹เชกเช•เซเชถเชจเชฎเชพเช‚ เช•เซ‹เชก เชฒเช–เซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹. เชฒเช—เชญเช— เชเช• เช…เช เชตเชพเชกเชฟเชฏเชพ เชชเช›เซ€ เชคเซ‡ เชธเซ€เชงเซ‹ เชชเซเชฐเซ‹เชกเช•เซเชถเชจ เชชเชฐ เช—เชฏเซ‹ เช…เชจเซ‡ เชคเซเชฏเชพเช‚เชฅเซ€ เชšเชพเชฒเซเชฏเซ‹ เช—เชฏเซ‹.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชนเซ€เช‚ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เช›เซ‡. OpenResty เช เชฒเซเชฏเซเชเชถ เช…เชจเซ‡ เชเชจเซเชœเชฟเชจ เชฌเช‚เชจเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซเชฏเซ‹ เช›เซ‡. เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเชงเซเช‚ เชคเซˆเชฏเชพเชฐ เช›เซ‡ - เชœเชฎเชพเชตเชŸ เช…เชจเซ‡ เช•เชพเชฐเซเชฏ.

เช‰เชฆเชพเชนเชฐเชฃเซ‹

เช—เซ€เชคเซ‹ เชชเซ‚เชฐเชคเชพ เช›เซ‡, เชšเชพเชฒเซ‹ เช•เซ‹เชก เชชเชฐ เช†เช—เชณ เชตเชงเซ€เช. เช…เชนเซ€เช‚ เชฅเซ‹เชกเซเช‚ เชนเซ‡เชฒเซ‹ เชตเชฐเซเชฒเซเชก เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชคเซเชฏเชพเช‚ เชถเซเช‚ เช›เซ‡? เช† เชเช• เชเชจเซเชœเซ€เชจเซเชธ เชธเซเชฅเชพเชจ เช›เซ‡. เช…เชฎเซ‡ เชšเชฟเช‚เชคเชพ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚, เช…เชฎเซ‡ เช†เชชเชฃเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชฐเซ‚เชŸเซ€เช‚เช— เชฒเช–เชคเชพ เชจเชฅเซ€, เช…เชฎเซ‡ เช•เซ‹เชˆ เชคเซˆเชฏเชพเชฐ เชจเชฅเซ€ เชฒเซ‡เชคเชพ - เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ NGINX เชฎเชพเช‚ เช›เซ‡, เช…เชฎเซ‡ เชเช• เชธเชพเชฐเซเช‚ เช…เชจเซ‡ เช†เชณเชธเซ เชœเซ€เชตเชจ เชœเซ€เชตเซ€เช เช›เซ€เช.

content_by_lua_block เชเช• เชฌเซเชฒเซ‹เช• เช›เซ‡ เชœเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เช…เชฎเซ‡ เชฒเซเช† เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชพเชฎเช—เซเชฐเซ€ เช†เชชเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช. เช†เชชเชฃเซ‡ เชเชจเซเชœเซ€เชจเซเชธ เชตเซ‡เชฐเซ€เชเชฌเชฒ เชฒเชˆเช เช›เซ€เช remote_addr เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช…เช‚เชฆเชฐ เชฎเซ‚เช•เซ‹ string.format. เช† เชธเชฎเชพเชจ เช›เซ‡ sprintf, เชฎเชพเชคเซเชฐ เชฒเซเช†เชฎเชพเช‚, เชฎเชพเชคเซเชฐ เชธเชพเชšเซ‹. เช…เชจเซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ‡ เช†เชชเซ€เช เช›เซ€เช.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชถเซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเชฐเช‚เชคเซ เชšเชพเชฒเซ‹ เชตเชพเชธเซเชคเชตเชฟเช• เชฆเซเชจเชฟเชฏเชพเชฎเชพเช‚ เชชเชพเช›เชพ เชซเชฐเซ€เช. เช•เซ‹เชˆ เชชเชฃ เชนเซ‡เชฒเซ‹ เชตเชฐเซเชฒเซเชกเชจเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจเชฎเชพเช‚ เชœเชฎเชพเชตเชคเซเช‚ เชจเชฅเซ€. เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เช…เชฅเชตเชพ เชฌเซ€เชœเซ‡ เช•เซเชฏเชพเช‚เช• เชœเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ‹ เชธเชฎเชฏ เชชเซเชฐเชคเชฟเชธเชพเชฆเชจเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡.

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชคเซ‡ เชฎเชพเชคเซเชฐ เชฌเซ‡เชธเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฐเชพเชน เชœเซเช เช›เซ‡. เชคเซ‡ เชฌเชนเซ เชธเชพเชฐเซเช‚ เชจเชฅเซ€. เชœเซเชฏเชพเชฐเซ‡ 100.000 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชฎเซเชถเซเช•เซ‡เชฒ เช›เซ‡. เชคเซ‹ เชšเชพเชฒเซ‹ เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชเช• เชธเชฐเชณ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช. เช…เชฎเซ‡ เชšเชฟเชคเซเชฐเซ‹ เชถเซ‹เชงเซ€เชถเซเช‚, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฌเชฟเชฒเชพเชกเซ€เช“เชจเชพ. เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชซเช•เซเชค เชถเซ‹เชง เช•เชฐเซ€เชถเซเช‚ เชจเชนเซ€เช‚, เช…เชฎเซ‡ เช•เซ€เชตเชฐเซเชกเซเชธเชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเซ€เชถเซเช‚ เช…เชจเซ‡, เชœเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ "เชฌเชฟเชฒเชพเชกเซ€เชจเชพ เชฌเชšเซเชšเชพเช‚" เชฎเชพเชŸเซ‡ เชถเซ‹เชง เช•เชฐเชถเซ‡, เชคเซ‹ เช…เชฎเชจเซ‡ เชฌเชฟเชฒเชพเชกเซ€เช“, เชฐเซเช‚เชตเชพเชŸเซ€เชฆเชพเชฐ เชฌเชฟเชฒเชพเชกเซ€เช“ เชตเช—เซ‡เชฐเซ‡ เชฎเชณเชถเซ‡. เชชเซเชฐเชฅเชฎ, เช…เชฎเชจเซ‡ เชฌเซ‡เช•เชเชจเซเชก เชชเชฐ เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เชกเซ‡เชŸเชพ เชฎเซ‡เชณเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชฌเซ‡ เชฒเซ€เชŸเซ€เช“ เชคเชฎเชจเซ‡ GET เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฆเซ‡ เช›เซ‡, เช•เซ‹เชˆ เชœเชŸเชฟเชฒเชคเชพเช“ เชจเชฅเซ€. เช†เช—เชณ, เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡, เช•เซ€เชตเชฐเซเชก เช…เชจเซ‡ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฎเชพเชŸเซ‡ เชธเชพเช‡เชจ เชงเชฐเชพเชตเชคเชพ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€, เช…เชฎเซ‡ เชจเชฟเชฏเชฎเชฟเชค SQL เช•เซเชตเซ‡เชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ€เช เช›เซ€เช. เชคเซ‡ เชธเชฐเชณ เช›เซ‡. เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเซเชธเซเชคเช•เชพเชฒเชฏเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ resty.mysql, เชœเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เซ€เชŸเชฎเชพเช‚ เช›เซ‡. เช…เชฎเชจเซ‡ เช•เช‚เชˆเชชเชฃ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชฌเชงเซเช‚ เชคเซˆเชฏเชพเชฐ เช›เซ‡. เช…เชฎเซ‡ เชธเซ‚เชšเชตเซ€เช เช›เซ€เช เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ SQL เช•เซเชตเซ‡เชฐเซ€ เช•เชฐเชตเซ€:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชคเซ‡ เช…เชนเซ€เช‚ เชฅเซ‹เชกเซเช‚ เชกเชฐเชพเชฎเชฃเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เช…เชนเซ€เช‚ 10 เชฎเชฐเซเชฏเชพเชฆเชพ เช›เซ‡. เช…เชฎเซ‡ 10 เชเชจเซเชŸเซเชฐเซ€เช“ เช–เซ‡เช‚เชšเซ€เช เช›เซ€เช, เช…เชฎเซ‡ เช†เชณเชธเซ เช›เซ€เช, เช…เชฎเซ‡ เชตเชงเซ เชฌเชคเชพเชตเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€. เชนเซเช‚ SQL เชฎเชพเช‚ เชฎเชฐเซเชฏเชพเชฆเชพ เชตเชฟเชถเซ‡ เชญเซ‚เชฒเซ€ เช—เชฏเซ‹.

เช†เช—เชณ เช†เชชเชฃเซ‡ เชฌเชงเชพ เชชเซเชฐเชถเซเชจเซ‹ เชฎเชพเชŸเซ‡ เชšเชฟเชคเซเชฐเซ‹ เชถเซ‹เชงเซ€เช เช›เซ€เช. เช…เชฎเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‹ เชธเชฎเซ‚เชน เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชจเชพเชฎเชจเซเช‚ เชฒเซเช† เชŸเซ‡เชฌเชฒ เชญเชฐเซ€เช เช›เซ€เช reqs, เช…เชจเซ‡ เช…เชฎเซ‡ เช•เชฐเซ€เช เช›เซ€เช ngx.location.capture_multi.

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช† เชคเชฎเชพเชฎ เชตเชฟเชจเช‚เชคเซ€เช“ เชธเชฎเชพเช‚เชคเชฐ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชœเชตเชพเชฌเซ‹ เช…เชฎเชจเซ‡ เชชเชฐเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฎเชฏ เชธเซŒเชฅเซ€ เชงเซ€เชฎเชพ เชเช•เชจเชพ เชชเซเชฐเชคเชฟเชญเชพเชต เชธเชฎเชฏเชจเซ€ เชฌเชฐเชพเชฌเชฐ เช›เซ‡. เชœเซ‹ เช†เชชเชฃเซ‡ เชฌเชงเชพ 50 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเชฎเชพเช‚ เชถเซ‚เชŸ เช•เชฐเซ€เช, เช…เชจเซ‡ เช…เชฎเซ‡ เชธเซ‹ เชตเชฟเชจเช‚เชคเซ€เช“ เชฎเซ‹เช•เชฒเซ€เช, เชคเซ‹ เช…เชฎเชจเซ‡ 50 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเชฎเชพเช‚ เชœเชตเชพเชฌ เชฎเชณเชถเซ‡.

เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเซ‡ เช†เชณเชธเซ เช›เซ€เช เช…เชจเซ‡ HTTP เช…เชจเซ‡ เช•เซ‡เชถเซ€เช‚เช— เชนเซ‡เชจเซเชกเชฒเชฟเช‚เช— เชฒเช–เชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€, เช…เชฎเซ‡ NGINX เชจเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฌเชงเซเช‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเซ€เชถเซเช‚. เชคเชฎเซ‡ เชœเซ‹เชฏเซเช‚ เชคเซ‡เชฎ, เชฎเชพเชŸเซ‡ เชตเชฟเชจเช‚เชคเซ€ เชนเชคเซ€ url/fetch, เชคเซ‡ เช…เชนเซ€เช‚ เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ€เช เช›เซ€เช proxy_pass, เช…เชฎเซ‡ เชธเซ‚เชšเชตเซ€เช เช›เซ€เช เช•เซ‡ เช•เซเชฏเชพเช‚ เช•เซ‡เชถ เช•เชฐเชตเซเช‚, เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชฌเชงเซเช‚ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡.

เชชเชฐเช‚เชคเซ เช† เชชเซ‚เชฐเชคเซเช‚ เชจเชฅเซ€, เช…เชฎเชพเชฐเซ‡ เชนเชœเซ€ เชชเชฃ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชกเซ‡เชŸเชพ เช†เชชเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชธเซŒเชฅเซ€ เชธเชฐเชณ เชตเชฟเชšเชพเชฐ เช เช›เซ‡ เช•เซ‡ JSON เชฎเชพเช‚ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€, เชฌเซ‡ เชฒเซ€เชŸเซ€เช“เชฎเชพเช‚ เชถเซเชฐเซ‡เชฃเซ€เชฌเชฆเซเชง เช•เชฐเชตเซ€. เช…เชฎเซ‡ เชธเชพเชฎเช—เซเชฐเซ€-เชชเซเชฐเช•เชพเชฐ เช†เชชเซ€เช เช›เซ€เช, เช…เชฎเซ‡ JSON เช†เชชเซ€เช เช›เซ€เช.

เชชเชฐเช‚เชคเซ เชเช• เชฎเซเชถเซเช•เซ‡เชฒเซ€ เช›เซ‡: เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ JSON เชตเชพเช‚เชšเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจเชฅเซ€. เช†เชชเชฃเซ‡ เชซเซเชฐเชจเซเชŸ เชเชจเซเชก เชกเซ‡เชตเชฒเชชเชฐเซเชธเชจเซ‡ เช†เช•เชฐเซเชทเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เช†เชชเชฃเซ‡ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เช† เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€. เช…เชจเซ‡ เชเชธเช‡เช“ เชจเชฟเชทเซเชฃเชพเชคเซ‹ เช•เชนเซ‡เชถเซ‡ เช•เซ‡ เชœเซ‹ เช†เชชเชฃเซ‡ เชšเชฟเชคเซเชฐเซ‹ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เชคเซ‹ เชคเซ‡เชฎเชจเซ‡ เช•เซ‹เชˆ เชตเชพเช‚เชงเซ‹ เชจเชฅเซ€. เช…เชจเซ‡ เชœเซ‹ เช…เชฎเซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชธเชพเชฎเช—เซเชฐเซ€ เช†เชชเซ€เช, เชคเซ‹ เชคเซ‡เช“ เช•เชนเซ‡เชถเซ‡ เช•เซ‡ เช…เชฎเชพเชฐเชพ เชธเชฐเซเชš เชเชจเซเชœเชฟเชจ เช•เช‚เชˆเชชเชฃ เช‡เชจเซเชกเซ‡เช•เซเชธ เช•เชฐเชคเชพ เชจเชฅเซ€.

เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚? เช…เชฒเชฌเชคเซเชค, เช…เชฎเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ HTML เช†เชชเซ€เชถเซเช‚. เชนเชพเชฅ เชตเชกเซ‡ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเซเช‚ เช เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชจเชฎเซ‚เชจเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช. เช† เชฎเชพเชŸเซ‡ เชเช• เชชเซเชธเซเชคเช•เชพเชฒเชฏ เช›เซ‡ lua-resty-template.

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชคเชฎเซ‡ เช•เชฆเชพเชš เชคเซเชฐเชฃ เชกเชฐเชพเชฎเชฃเชพ เช…เช•เซเชทเชฐเซ‹ OPM เชœเซ‹เชฏเชพ เชนเชถเซ‡. เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€ เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เชธเชพเชฅเซ‡ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เชคเชฎเซ‡ เชตเชฟเชตเชฟเชง เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, lua-resty-template. เช† เชเช• เชธเชฐเชณ เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชเชจเซเชœเชฟเชจ เช›เซ‡, เชœเซ‡ เชœเซ‡เช‚เช—เซ‹ เชŸเซ‡เชฎเซเชชเซเชฒเซ‡เชŸเซเชธ เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡. เชคเซเชฏเชพเช‚ เชคเชฎเซ‡ เช•เซ‹เชก เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชตเซ‡เชฐเซ€เชเชฌเชฒ เช…เชตเซ‡เชœเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชฌเชงเซเช‚ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชถเซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชฎเซ‡ เชกเซ‡เชŸเชพ เชฒเซ€เชงเซ‹ เช…เชจเซ‡ เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฌเซ‡ เชฒเซ€เชŸเซ€เช“เชฎเชพเช‚ เชฐเซ‡เชจเซเชกเชฐ เช•เชฐเซเชฏเซเช‚. เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช–เซเชถ เช›เซ‡, เชคเซ‡เชจเซ‡ เชฌเชฟเชฒเชพเชกเซ€เช“ เชฎเชณเซ€. เช…เชฎเซ‡ เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เชตเชฟเชธเซเชคเชพเชฐ เช•เชฐเซเชฏเซ‹ เชนเซ‹เชตเชพเชฅเซ€, เชคเซ‡เชจเซ‡ เชฌเชฟเชฒเชพเชกเซ€เชจเชพ เชฌเชšเซเชšเชพเช‚ เชฎเชพเชŸเซ‡ เชซเชฐ เชธเซ€เชฒ เชชเชฃ เชฎเชณเซ€. เชคเชฎเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชœเชพเชฃเชคเชพ เชจเชฅเซ€, เช•เชฆเชพเชš เชคเซ‡ เชฌเชฐเชพเชฌเชฐ เช† เชœ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช˜เชกเซ€ เชถเช•เซเชฏเซ‹ เชจเชนเซ€เช‚.

เชฌเชงเซเช‚ เชธเชฐเชธ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เช›เซ€เช เช…เชจเซ‡ เชนเชœเซ€ เชธเซเชงเซ€ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชคเซ‡ เชฌเชคเชพเชตเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€. เชšเชพเชฒเซ‹ เช…เชงเชฟเช•เซƒเชคเชคเชพ เช•เชฐเซ€เช. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ NGINX เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€ เชถเชฐเชคเซ‹เชฎเชพเช‚ เชตเชฟเชจเช‚เชคเซ€เชจเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ‡ เช›เซ‡:

  • เชชเซเชฐเชฅเชฎ เชคเชฌเช•เซเช•เซ‹ - เชเช•เซเชธเซ‡เชธ, เชœเซเชฏเชพเชฐเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชนเชฎเชฃเชพเช‚ เชœ เช†เชตเซเชฏเซ‹, เช…เชจเซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชนเซ‡เชกเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ, IP เชธเชฐเชจเชพเชฎเชพ เชฆเซเชตเชพเชฐเชพ เช…เชจเซ‡ เช…เชจเซเชฏ เชกเซ‡เชŸเชพ เชฆเซเชตเชพเชฐเชพ เชœเซ‹เชฏเซเช‚. เชœเซ‹ เช…เชฎเชจเซ‡ เชคเซ‡ เช—เชฎเชคเซเช‚ เชจ เชนเซ‹เชฏ เชคเซ‹ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชคเชฐเชค เชœ เช•เชพเชชเซ€ เชถเช•เซ€เช เช›เซ€เช. เช†เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชงเชฟเช•เซƒเชคเชคเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เช…เชฅเชตเชพ เชœเซ‹ เช…เชฎเชจเซ‡ เช˜เชฃเซ€ เชฌเชงเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชฎเชณเซ‡ เช›เซ‡, เชคเซ‹ เช…เชฎเซ‡ เช† เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เชคเซ‡เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เช•เชพเชชเซ€ เชถเช•เซ€เช เช›เซ€เช.
  • เชซเชฐเซ€เชฅเซ€ เชฒเช–เซ‹. เช…เชฎเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชตเชฟเชจเช‚เชคเซ€ เชกเซ‡เชŸเชพเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฒเช–เซ€เช เช›เซ€เช.
  • เชธเชพเชฎเช—เซเชฐเซ€. เช…เชฎเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชธเชพเชฎเช—เซเชฐเซ€ เชชเชนเซ‹เช‚เชšเชพเชกเซ€เช เช›เซ€เช.
  • เชนเซ‡เชกเชฐเซ‹ เชซเชฟเชฒเซเชŸเชฐ. เช…เชฎเซ‡ เชชเซเชฐเชคเชฟเชญเชพเชต เชนเซ‡เชกเชฐเซ‹ เชฌเชฆเชฒเซ€เช เช›เซ€เช. เชœเซ‹ เช†เชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ proxy_pass, เช…เชฎเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช†เชชเชคเชพ เชชเชนเซ‡เชฒเชพ เช•เซ‡เชŸเชฒเชพเช• เชนเซ‡เชกเชฐเซ‹ เชซเชฐเซ€เชฅเซ€ เชฒเช–เซ€ เชถเช•เซ€เช เช›เซ€เช.
  • เชถเชฐเซ€เชฐ เชซเชฟเชฒเซเชŸเชฐ. เช†เชชเชฃเซ‡ เชถเชฐเซ€เชฐ เชฌเชฆเชฒเซ€ เชถเช•เซ€เช เช›เซ€เช.
  • เชฒเซ‹เช— - เชฒเซ‹เช—เซ€เช‚เช—. เชคเชฎเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชธเซเชคเชฐ เชตเช—เชฐ elasticsearch เชฎเชพเช‚ เชฒเซ‹เช— เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹.

เช…เชฎเชพเชฐเซ€ เช…เชงเชฟเช•เซƒเชคเชคเชพ เช•เช‚เชˆเช• เช†เชจเชพ เชœเซ‡เชตเซ€ เชฆเซ‡เช–เชพเชถเซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชฎเซ‡ เช†เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ€เชถเซเช‚ location, เชœเซ‡ เช†เชชเชฃเซ‡ เชชเชนเซ‡เชฒเชพ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡, เช…เชจเซ‡ เชจเซ€เชšเซ‡เชจเซ‹ เช•เซ‹เชก เชคเซเชฏเชพเช‚ เชฎเซเช•เซเชฏเซ‹ เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซ‚เช•เซ€ เชŸเซ‹เช•เชจ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เชœเซ‹เชˆเช เช›เซ€เช. เชœเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เช…เชฎเซ‡ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชฎเชพเชŸเซ‡ เช•เชนเซ€เช เช›เซ€เช. เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช˜เชกเชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช…เชจเซเชฎเชพเชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชจเซ‡ เช•เซ‚เช•เซ€ เชŸเซ‹เช•เชจ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชฐเซ‡เชกเชฟเชธเชฎเชพเช‚ เชชเชฃ เชฎเซ‚เช•เซ€เชถเซเช‚:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชฐเซ‡เชกเชฟเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ‹ เช•เซ‹เชก เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เช…เชจเซเชฏ เชญเชพเชทเชพเช“เชฅเซ€ เช…เชฒเช— เชจเชฅเซ€. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เชคเชฎเชพเชฎ เช‡เชจเชชเซเชŸ/เช†เช‰เชŸเชชเซเชŸ, เช…เชนเซ€เช‚ เช…เชจเซ‡ เชคเซเชฏเชพเช‚, เช…เชตเชฐเซ‹เชงเชฟเชค เชจเชฅเซ€. เชœเซ‹ เชคเชฎเซ‡ เชธเชฟเช‚เช•เซเชฐเชจเชธ เช•เซ‹เชก เชฒเช–เซ‹ เช›เซ‹, เชคเซ‹ เชคเซ‡ เช…เชธเซเชฎเซ‡เชณ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡. เชฒเช—เชญเช— gevent เชœเซ‡เชตเซเช‚, เชชเชฐเช‚เชคเซ เชธเชพเชฐเซเช‚ เช•เชฐเซเชฏเซเช‚.

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชšเชพเชฒเซ‹ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชชเซ‹เชคเซ‡ เช•เชฐเซ€เช:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช…เชฎเซ‡ เช•เชนเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเชพเชฐเซ‡ เชตเชฟเชจเช‚เชคเซ€เชจเซ‹ เชฎเซเช–เซเชฏ เชญเชพเช— เชตเชพเช‚เชšเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชฎเซ‡ POST เชฆเชฒเซ€เชฒเซ‹ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเชชเชพเชธเซ€เช เช›เซ€เช เช•เซ‡ เชฒเซ‰เช—เชฟเชจ เช…เชจเซ‡ เชชเชพเชธเชตเชฐเซเชก เชธเชพเชšเซ‹ เช›เซ‡. เชœเซ‹ เชคเซ‡เช“ เช–เซ‹เชŸเชพ เชนเซ‹เชฏ, เชคเซ‹ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชฎเชพเชŸเซ‡ เชชเชกเช•เชพเชฐ เช†เชชเซ€เช เช›เซ€เช. เช…เชจเซ‡ เชœเซ‹ เชธเชพเชšเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€ Redis เชฎเชพเช‚ เชŸเซ‹เช•เชจ เชฒเช–เซ‹:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช•เซ‚เช•เซ€ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซเช‚ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚, เช† เชชเชฃ เชฌเซ‡ เชฒเซ€เชŸเซ€เช“เชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡:

เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: NGINX เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เช‰เชฆเชพเชนเชฐเชฃ เชธเชฐเชณ เช…เชจเซ‡ เช…เชจเซเชฎเชพเชจเชฟเชค เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เช…เชฎเซ‡ เชเชตเซ€ เชธเซ‡เชตเชพ เชจเชนเซ€เช‚ เช•เชฐเซ€เช เชœเซ‡ เชฒเซ‹เช•เซ‹เชจเซ‡ เชฌเชฟเชฒเชพเชกเซ€ เชฌเชคเชพเชตเซ‡. เชชเชฃ เช†เชชเชฃเชจเซ‡ เช•เซ‹เชฃ เชœเชพเชฃเซ‡. เชคเซ‹ เชšเชพเชฒเซ‹ เชœเซ‹เชˆเช เช•เซ‡ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ เชถเซเช‚ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

  • เชจเซเชฏเซ‚เชจเชคเชฎ เชฌเซ‡เช•เชเชจเซเชก. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เช†เชชเชฃเซ‡ เชฌเซ‡เช•เชเชจเซเชกเชฎเชพเช‚ เชฅเซ‹เชกเซ‹ เชกเซ‡เชŸเชพ เช†เช‰เชŸเชชเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡: เช•เซเชฏเชพเช‚เช• เช†เชชเชฃเซ‡ เชคเชพเชฐเซ€เช– เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช•เซเชฏเชพเช‚เช• เช†เชชเชฃเซ‡ เชธเซ‚เชšเชฟ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชœเชฃเชพเชตเซ‹ เช•เซ‡ เชนเชตเซ‡ เชธเชพเช‡เชŸ เชชเชฐ เช•เซ‡เชŸเชฒเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช›เซ‡, เช•เชพเช‰เชจเซเชŸเชฐ เช…เชฅเชตเชพ เช†เช‚เช•เชกเชพ เชœเซ‹เชกเซ‹. เช†เชŸเชฒเซเช‚ เชจเชพเชจเซเช‚ เช•เช‚เชˆเช•. เช•เซ‡เชŸเชฒเชพเช• เชจเซเชฏเซ‚เชจเชคเชฎ เชŸเซเช•เชกเชพเช“ เช–เซ‚เชฌ เชœ เชธเชฐเชณเชคเชพเชฅเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช† เชคเซ‡เชจเซ‡ เชเชกเชชเซ€, เชธเชฐเชณ เช…เชจเซ‡ เชฎเชนเชพเชจ เชฌเชจเชพเชตเชถเซ‡.
  • เชกเซ‡เชŸเชพ เชชเซเชฐเซ€เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช—. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชชเซƒเชทเซเช เชฎเชพเช‚ เชœเชพเชนเซ‡เชฐเชพเชคเชจเซ‡ เชเชฎเซเชฌเซ‡เชก เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช, เช…เชจเซ‡ เช…เชฎเซ‡ API เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชœเชพเชนเซ‡เชฐเชพเชค เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€เช เช›เซ€เช. เช† เช…เชนเซ€เช‚ เช•เชฐเชตเซเช‚ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡. เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฌเซ‡เช•เชเชจเซเชกเชจเซ‡ เชฒเซ‹เชก เช•เชฐเชคเชพ เชจเชฅเซ€, เชœเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฌเซ‡เชธเซ€เชจเซ‡ เชธเช–เชค เชฎเชนเซ‡เชจเชค เช•เชฐเซ‡ เช›เซ‡. เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช…เชนเซ€เช‚ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชฎเซ‡ เช…เชฎเซเช• JS เชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เช•เซ‹เชฌเชฒ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชฅเชตเชพ, เชคเซ‡เชจเชพเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชคเซ‡เชจเซ‡ เช…เชจเช•เชชเชฒ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช†เชชเชคเชพ เชชเชนเซ‡เชฒเชพ เช•เช‚เชˆเช• เชชเซเชฐเซ€เชชเซเชฐเซ‹เชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช.
  • เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธ เชฎเชพเชŸเซ‡ เชฐเชตเซ‡เชถ. เช† เชชเชฃ เช–เซ‚เชฌ เชœ เชธเชพเชฐเซ‹ เช•เชฟเชธเซเชธเซ‹ เช›เซ‡, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‹ เช…เชฎเชฒ เช•เชฐเซเชฏเซ‹. เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚, เชฎเซ‡เช‚ Tenzor, เชเช• เชเชตเซ€ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚ เชœเซ‡ เช‡เชฒเซ‡เช•เซเชŸเซเชฐเซ‹เชจเชฟเช• เชฐเชฟเชชเซ‹เชฐเซเชŸเชฟเช‚เช— เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฆเซ‡เชถเชจเซ€ เชฒเช—เชญเช— เช…เชกเชงเชพ เช•เชพเชจเซ‚เชจเซ€ เชธเช‚เชธเซเชฅเชพเช“เชจเซ‡ เชฐเชฟเชชเซ‹เชฐเซเชŸเชฟเช‚เช— เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชเช• เชธเซ‡เชตเชพ เชฌเชจเชพเชตเซ€ เช›เซ‡, เชคเซเชฏเชพเช‚ เชธเชฎเชพเชจ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช˜เชฃเซ€ เชตเชธเซเชคเซเช“ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€: เชฐเซ‚เชŸเซ€เช‚เช—, เช…เชงเชฟเช•เซƒเชคเชคเชพ เช…เชจเซ‡ เชตเชงเซ.
    เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชคเชฎเชพเชฐเซ€ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธ เชฎเชพเชŸเซ‡ เช—เซเช‚เชฆเชฐ เชคเชฐเซ€เช•เซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชฎเชพเชŸเซ‡ เชเช• เชœ เชเช•เซเชธเซ‡เชธ เช…เชจเซ‡ เชเช• เชœ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเซ€เชธ เชเชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เซ€ เชถเช•เชพเชฏ เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช…เชนเซ€เช‚ Node.js เช›เซ‡, เช…เชนเซ€เช‚ PHP, เช…เชนเซ€เช‚ Python, เช…เชนเซ€เช‚ เช•เซ‡เชŸเชฒเซ€เช• Erlang เชตเชธเซเชคเซ เช›เซ‡, เช…เชฎเซ‡ เชธเชฎเชœเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเซ‡ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เชธเชฎเชพเชจ เช•เซ‹เชกเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€เชจเซ‡ เช†เช—เชณเชจเชพ เชญเชพเช—เชฎเชพเช‚ เชชเซเชฒเช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.
  • เช†เช‚เช•เชกเชพ เช…เชจเซ‡ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ NGINX เชชเซเชฐเชตเซ‡เชถเชฆเซเชตเชพเชฐ เชชเชฐ เชนเซ‹เชฏ เช›เซ‡, เช…เชจเซ‡ เชฌเชงเซ€ เชตเชฟเชจเช‚เชคเซ€เช“ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชชเชธเชพเชฐ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เช† เชธเซเชฅเชพเชจเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเซเช‚ เช–เซ‚เชฌ เชœ เช…เชจเซเช•เซ‚เชณ เช›เซ‡. เชคเชฎเซ‡ เชคเชฐเชค เชœ เช•เช‚เชˆเช•เชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เซเชฏเชพเช‚เช• เช…เชชเชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, Elasticsearch, Logstash, เช…เชฅเชตเชพ เชซเช•เซเชค เชคเซ‡เชจเซ‡ เชฒเซ‹เช— เชชเชฐ เชฒเช–เซ‹ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เช•เซเชฏเชพเช‚เช• เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ‹ เช›เซ‹.
  • เชฎเชฒเซเชŸเชฟ-เชฏเซเชเชฐ เชธเชฟเชธเซเชŸเชฎเซเชธ. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช‘เชจเชฒเชพเช‡เชจ เชฐเชฎเชคเซ‹ เชชเชฃ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เชธเชพเชฐเซ€ เช›เซ‡. เช†เชœเซ‡ เช•เซ‡เชช เชŸเชพเช‰เชจเชฎเชพเช‚, เชเชฒเซ‡เช•เซเชเชพเชจเซเชกเชฐ เช—เซเชฒเซ‡เชกเซ€เชถ เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเชฒเซเชŸเชฟเชชเซเชฒเซ‡เชฏเชฐ เช—เซ‡เชฎเชจเซ‹ เชเชกเชชเชฅเซ€ เชชเซเชฐเซ‹เชŸเซ‹เชŸเชพเช‡เชช เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชถเซ‡.
  • เชตเชฟเชจเช‚เชคเซ€ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช— (WAF). เช†เชœเช•เชพเชฒ เชคเชฎเชพเชฎ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชซเชพเชฏเชฐเชตเซ‹เชฒ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชซเซ‡เชถเชจเซ‡เชฌเชฒ เช›เซ‡; เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เชธเซ‡เชตเชพเช“ เช›เซ‡ เชœเซ‡ เชคเซ‡เชฎเชจเซ‡ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. OpenResty เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชซเชพเชฏเชฐเชตเซ‹เชฒ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เช…เชจเซเชธเชพเชฐ เชธเชฐเชณ เช…เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเชถเซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ เชธเชฎเชœเซ‹ เช›เซ‹ เช•เซ‡ PHP เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เชคเชฎเชพเชฐเชพเชฎเชพเช‚ เช‡เชจเซเชœเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚, เชธเชฟเชตเชพเชฏ เช•เซ‡, เช…เชฒเชฌเชคเซเชค, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เชจเซเชธเซ‹เชฒเชฎเชพเช‚เชฅเซ€ เช—เชฎเซ‡ เชคเซเชฏเชพเช‚ เชซเซ‡เชฒเชพเชตเซ‹. เชคเชฎเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ MySQL เช…เชจเซ‡ Python เช›เซ‡. เชธเช‚เชญเชตเชคเชƒ, เชคเซ‡เช“ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชŸเซเชฐเชพเชตเชฐเซเชธเชฒ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เช•เช‚เชˆเช• เชฆเชพเช–เชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชคเชฎเซ‡ เช†เช—เชณเชจเซ€ เชฌเชพเชœเซเช เชœ เชเชกเชชเชฅเซ€ เช…เชจเซ‡ เชธเชธเซเชคเชพเชฎเชพเช‚ เชตเชฟเชšเชฟเชคเซเชฐ เชชเซเชฐเชถเซเชจเซ‹เชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.
  • เชธเชฎเซเชฆเชพเชฏ. OpenResty NGINX เชชเชฐ เชฌเชจเซ‡เชฒ เชนเซ‹เชตเชพเชฅเซ€, เชคเซ‡เชฎเชพเช‚ เชฌเซ‹เชจเชธ เช›เซ‡ - เช† NGINX เชธเชฎเซเชฆเชพเชฏ. เชคเซ‡ เช–เซ‚เชฌ เชœ เชตเชฟเชถเชพเชณ เช›เซ‡, เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชœเซ‡ เชชเซเชฐเชถเซเชจเซ‹ เชนเชถเซ‡ เชคเซ‡เชจเซ‹ เชเช• เชฏเซ‹เช—เซเชฏ เชญเชพเช— NGINX เชธเชฎเซเชฆเชพเชฏ เชฆเซเชตเชพเชฐเชพ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช‰เช•เซ‡เชฒเชพเชˆ เช—เชฏเซ‹ เช›เซ‡.

    เชฒเซเช† เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“. เช—เชˆ เช•เชพเชฒเซ‡ เชฎเซ‡เช‚ เชเชตเชพ เชฒเซ‹เช•เซ‹ เชธเชพเชฅเซ‡ เชตเชพเชค เช•เชฐเซ€ เชœเซ‡เช“ HighLoad++ เชชเซเชฐเชถเชฟเช•เซเชทเชฃ เชฆเชฟเชตเชธ เชชเชฐ เช†เชตเซเชฏเชพ เช…เชจเซ‡ เชธเชพเช‚เชญเชณเซเชฏเซเช‚ เช•เซ‡ เชฒเซเช†เชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชŸเซ‡เชฐเชจเซเชŸเซ‚เชฒ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ เชนเชคเซเช‚. เช† เชธเชพเชšเซเช‚ เชจเชฅเซ€, เชฒเซเช†เชฎเชพเช‚ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เชฒเช–เซ‡เชฒเซเช‚ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃเซ‹: OpenResty, Prosody XMPP เชธเชฐเซเชตเชฐ, Love2D เช—เซ‡เชฎ เชเชจเซเชœเชฟเชจ, Warcraft เช…เชจเซ‡ เช…เชจเซเชฏเชคเซเชฐ เชฒเซเช† เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก. เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชฌเชงเชพ เชฒเซเช† เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช›เซ‡, เชคเซ‡เชฎเชจเซ€ เชชเชพเชธเซ‡ เชตเชฟเชถเชพเชณ เช…เชจเซ‡ เชชเซเชฐเชคเชฟเชญเชพเชตเชถเซ€เชฒ เชธเชฎเซเชฆเชพเชฏ เช›เซ‡. เชฎเชพเชฐเชพ เชฌเชงเชพ เชฒเซเช† เชชเซเชฐเชถเซเชจเซ‹ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹เชฎเชพเช‚ เช‰เช•เซ‡เชฒเชพเชˆ เช—เชฏเชพ. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชฎเซ‡เช‡เชฒเชฟเช‚เช— เชธเซ‚เชšเชฟ เชชเชฐ เชฒเช–เซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ เชถเชพเชฌเซเชฆเชฟเช• เชฐเซ€เชคเซ‡ เชฅเซ‹เชกเซ€ เชฎเชฟเชจเชฟเชŸเซ‹เชฎเชพเช‚ เชคเซเชฏเชพเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชชเซเชฐเชคเชฟเชธเชพเชฆเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เชนเซ‹เชฏ เช›เซ‡, เชœเซ‡ เชตเชฐเซเชฃเชตเซ‡ เช›เซ‡ เช•เซ‡ เชถเซเช‚ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡, เชถเซเช‚ เช›เซ‡. เชคเซ‡ เชฎเชนเชพเชจ เช›เซ‡. เช•เชฎเชจเชธเซ€เชฌเซ‡, เช†เชตเชพ เชชเซเชฐเช•เชพเชฐเชจเซ‹, เช†เชงเซเชฏเชพเชคเซเชฎเชฟเช• เชธเชฎเซเชฆเชพเชฏ เชฆเชฐเซ‡เช• เชœเช—เซเชฏเชพเช เชจเชฅเซ€.
    OpenResty เชฎเชพเชŸเซ‡ GitHub เช›เซ‡, เชœเซเชฏเชพเช‚ เช•เช‚เชˆเช• เชคเซ‚เชŸเซ‡เชฒเซเช‚ เชนเซ‹เชฏ เชคเซ‹ เชคเชฎเซ‡ เชธเชฎเชธเซเชฏเชพ เช–เซ‹เชฒเซ€ เชถเช•เซ‹ เช›เซ‹. เช—เซ‚เช—เชฒ เช—เซเชฐเซเชชเซเชธ เชชเชฐ เชเช• เชฎเซ‡เช‡เชฒเชฟเช‚เช— เชฒเชฟเชธเซเชŸ เช›เซ‡, เชœเซเชฏเชพเช‚ เชคเชฎเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฎเซเชฆเซเชฆเชพเช“ เชชเชฐ เชšเชฐเซเชšเชพ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชšเชพเช‡เชจเซ€เชเชฎเชพเช‚ เชเช• เชฎเซ‡เช‡เชฒเชฟเช‚เช— เชฒเชฟเชธเซเชŸ เช›เซ‡ - เชคเชฎเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชœเชพเชฃเชคเชพ เชจเชฅเซ€, เช•เชฆเชพเชš เชคเชฎเซ‡ เช…เช‚เช—เซเชฐเซ‡เชœเซ€ เชฌเซ‹เชฒเชคเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชšเชพเช‡เชจเซ€เช เชœเชพเชฃเซ‹ เช›เซ‹.

เชชเชฐเชฟเชฃเชพเชฎเซ‹

  • เชฎเชจเซ‡ เช†เชถเชพ เช›เซ‡ เช•เซ‡ เชนเซเช‚ เช…เชญเชฟเชตเซเชฏเช•เซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเซ‹ เช•เซ‡ OpenResty เช เชตเซ‡เชฌ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช–เซ‚เชฌ เชœ เช…เชจเซเช•เซ‚เชณ เชฎเชพเชณเช–เซเช‚ เช›เซ‡.
  • เชคเซ‡เชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถ เชฎเชพเชŸเซ‡ เช“เช›เซ‹ เช…เชตเชฐเซ‹เชง เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช•เซ‹เชก เช†เชชเชฃเซ‡ เชœเซ‡ เชฒเช–เซ€เช เช›เซ€เช เชคเซ‡เชจเชพ เชœเซ‡เชตเซ‹ เชœ เช›เซ‡, เชญเชพเชทเชพ เชเช•เชฆเชฎ เชธเชฐเชณ เช…เชจเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เช›เซ‡.
  • เชคเซ‡ เช•เซ‰เชฒเชฌเซ‡เช•เซเชธ เชตเชฟเชจเชพ เช…เชธเซเชฎเซ‡เชณ I/O เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซ‹เชˆ เชจเซ‚เชกเชฒเซเชธ เชจเชนเซ€เช‚ เชนเซ‹เชฏ เชœเซ‡เชฎ เช•เซ‡ เช†เชชเชฃเซ‡ เช•เซเชฏเชพเชฐเซ‡เช• NodeJS เชฎเชพเช‚ เชฒเช–เซ€ เชถเช•เซ€เช เช›เซ€เช.
  • เชคเซ‡เชฎเชพเช‚ เชธเชฐเชณ เชœเชฎเชพเชตเชŸ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เช…เชฎเชจเซ‡ เชซเช•เซเชค เชœเชฐเซ‚เชฐเซ€ เชฎเซ‹เชกเซเชฏเซเชฒ เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ เช•เซ‹เชก เชธเชพเชฅเซ‡ NGINX เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช…เชจเซ‡ เชฌเชงเซเช‚ เชคเชฐเชค เชœ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡.
  • เชตเชฟเชถเชพเชณ เช…เชจเซ‡ เชชเซเชฐเชคเชฟเชญเชพเชตเชถเซ€เชฒ เชธเชฎเซเชฆเชพเชฏ.

เชฎเซ‡เช‚ เชฐเซ‚เชŸเซ€เช‚เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡ เชตเชฟเช—เชคเชตเชพเชฐ เชœเชฃเชพเชตเซเชฏเซเช‚ เชจเชฅเซ€, เชคเซ‡ เช–เซ‚เชฌ เชฒเชพเช‚เชฌเซ€ เชตเชพเชฐเซเชคเชพ เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡.

เชคเชฎเชพเชฐเซเช‚ เชงเซเชฏเชพเชจ เชฌเชฆเชฒ เช†เชญเชพเชฐ!

เชตเชฟเชกเชฟเช“ เชšเชฒเชพเชตเซ‹

เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชชเซเชฐเซ‹เชŸเชพเชธเซ‹เชต - เช“เชชเชจเชฐเซ‡เชธเซเชŸเซ€: เชเชจเชœเซ€เช†เชˆเชเชจเชเช•เซเชธเชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐเชฎเชพเช‚ เชซเซ‡เชฐเชตเชตเซเช‚

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹