NGINX Unit 1.9.0 ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ืกืขืจื•ื•ื™ืจืขืจ

ืคืืจื’ืขืงื•ืžืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืขืจื•ื•ืขืจ ืžืขืœื“ื•ื ื’ NGINX ืึทืคึผืึทืจืึทื˜ 1.9, ืื™ืŸ ื•ื•ืึธืก ืึท ืœื™ื™ื–ื•ื ื’ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืฆื• ืขื ืฉื•ืจ ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ืื•ืŸ Java). NGINX Unit ืงืขื ืขืŸ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืœื•ื™ืคืŸ ืงื™ื™ืคืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคืจืึทื›ืŸ, ื“ื™ ืงืึทื˜ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื˜ืฉื™ื™ื ื“ื–ืฉื“ ื“ื™ื ืึทืžื™ืงืึทืœืœื™ ืึธืŸ ื“ื™ ื ื•ื™ื˜ ืฆื• ืจืขื“ืึทื’ื™ืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก ืื•ืŸ ืจื™ืกื˜ืึทืจื˜. ื“ืขืจ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš ืœื™ื™ืกืึทื ืกื˜ ืื•ื ื˜ืขืจ ืึทืคึผืึทื˜ืฉื™ 2.0. ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืงืึทื ื˜ ืžื™ื˜ ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ NGINX Unit ืื™ืŸ ืžืขืœื“ืŸ ืขืจืฉื˜ืขืจ ืึทืจื•ื™ืกื’ืขื‘ืŸ.

ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข:

  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืจื•ื˜ื™ื ื’ ืจื™ืงื•ื•ืขืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ URI ืึทืจื’ื•ืžืขื ื˜ืŸ, ื›ืขื“ืขืจื– ืื•ืŸ ืงื™ื›ืœืขืš;

    "ื›ืขื“ืขืจืก": [
    {
    "Accept-Encoding": "*gzip*",
    "User-Agent": "ืžืึธื–ื™ืœืœืึท/5.0*"
    },
    {
    "User-Agent": "ืงืขืจืœ*"
    }
    ]

  • ืจื•ื˜ ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ื˜ืขืžืคึผืœืึทื˜ืขืก ืื™ืฆื˜ ืฉื˜ื™ืฆืŸ ืžื™ื˜ืŸ ืื•ื™ืกื“ืจื•ืง ืžืึทืกืงืก. ืœืžืฉืœ,

    "ื”ืึธืกื˜": ["eu-*.example.com", "!eu-5.example.com"]

  • ะŸะพะดะดะตั€ะถะบะฐ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื’ืขืฉื™ืงื˜ ืžื™ื˜ ื“ื™ POST ืื•ืคึฟืŸ ืฆื• ืžืึทื ื™ืคึผื•ืœื™ืจืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืขืจื™ื™ื– ืื™ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ (ื˜ืฉืึทื ื’ืขืก ื–ืขื ืขืŸ ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“ ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜);

    curl -X POST -d '{"match": {"uri": "/ืคึผืจืึธื“ื•ืงืฆื™ืข/*"}, \
    "action": {"pass": "ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก/ื•ื•ื™ืงื™-ืคึผืจืึธื“"}}' \
    --unix-socket=/path/to/control.unit.sock \
    http://localhost/config/routes/

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื˜ืฉืึทื ื’ื™ื ื’ ื‘ืึทื ื™ืฆืขืจ ืื•ืŸ ื’ืจื•ืคึผืข ื ื™ืฆืŸ ื“ื™ CAP_SETUID ืื•ืŸ CAP_SETGID ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืื•ื™ืฃ ืœื™ื ื•ืงืก ืึธืŸ ืคืœื™ืกื ื“ื™ืง ื“ื™ ื”ื•ื™ืคึผื˜ ืคึผืจืึธืฆืขืก ื•ื•ื™ ืึท ืคึผืจื™ื•ื•ืœื™ื“ื–ืฉื“ ื‘ืึทื ื™ืฆืขืจ.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’