NGINX Unit 1.9.0 Application Server เบ›เปˆเบญเบ

เป„เบ”เป‰เบˆเบฑเบ”เบ‚เบถเป‰เบ™ เบ›เปˆเบญเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบŠเบตเบšเป€เบงเบต เบซเบ™เปˆเบงเบเบ‡เบฒเบ™ NGINX 1.9, เป€เบŠเบดเปˆเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เปเบเป‰เป„เบ‚เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบšเปƒเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ•เปˆเบฒเบ‡เป† (Python, PHP, Perl, Ruby, Go, JavaScript / Node.js เปเบฅเบฐ Java). เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ‡เบฒเบ™ NGINX, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบžเป‰เบญเบกเป†เบเบฑเบ™, เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป‚เบ”เบเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆ. เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ C เปเบฅเบฐ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ Apache 2.0. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบนเป‰เบˆเบฑเบเบเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡ NGINX Unit เปƒเบ™ เบ›เบฐเบเบฒเบ” เบ›เปˆเบญเบเบ„เบฑเป‰เบ‡เบ—เบณเบญเบดเบ”.

เปƒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹:

  • เป‚เบญเบเบฒเบ” routing เบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ URI, headers เปเบฅเบฐ Cookies;

    "เบชเปˆเบงเบ™เบซเบปเบง": [
    {
    "เบเบญเบกเบฎเบฑเบš-เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”": "*gzip*",
    "User-Agent": "Mozilla/5.0*"
    },
    {
    "User-Agent": "curl*"
    }
    ]

  • เบ•เบญเบ™เบ™เบตเป‰เปเบกเปˆเปเบšเบšเบเบฒเบ™เบˆเบฑเบšเบ„เบนเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบฎเบญเบ‡เบฎเบฑเบšเปœเป‰เบฒเบเบฒเบเบชเบฐเปเบ”เบ‡เบœเบปเบ™เบเบฒเบ‡. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡,

    "host": ["eu-*.example.com", "!eu-5.example.com"]

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ POST เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เบญเบฒเป€เบฃเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ (เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ–เบทเบเบชเบปเปˆเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบš JSON);

    curl -X POST -d โ€˜{โ€œmatchโ€: {โ€œuriโ€: โ€œ/production/*โ€}, \
    "action": {"pass": "applications/wiki-prod"}}' \
    --unix-socket=/path/to/control.unit.sock \
    http://localhost/config/routes/

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเบเบธเปˆเบกเป‚เบ”เบเปƒเบŠเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ” CAP_SETUID เปเบฅเบฐ CAP_SETGID เปƒเบ™ Linux เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เปเบฅเปˆเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบปเป‰เบ™เบ•เปเป€เบ›เบฑเบ™เบœเบนเป‰เปƒเบŠเป‰เบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™