ืฉื—ืจื•ืจ ืฉืจืช ื™ื™ืฉื•ืžื™ื NGINX Unit 1.16.0

ื”ืชืจื—ืฉ ืฉื—ืจื•ืจ ืฉืจืช ื™ื™ืฉื•ืžื™ื ื™ื—ื™ื“ืช NGINX 1.16, ื”ืžืคืชื—ืช ืคืชืจื•ืŸ ืœื”ื‘ื˜ื—ืช ื”ืฉืงืช ืืคืœื™ืงืฆื™ื•ืช ืื™ื ื˜ืจื ื˜ ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช (Python, PHP, Perl, Ruby, Go, JavaScript / Node.js ื•-Java). ืชื—ืช ืฉืœื™ื˜ื” ืฉืœ โ€‹โ€‹NGINX Unit, ืžืกืคืจ ื™ื™ืฉื•ืžื™ื ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช ื™ื›ื•ืœื•ืช ืœืคืขื•ืœ ื‘ื• ื–ืžื ื™ืช, ืืช ืคืจืžื˜ืจื™ ื”ื”ืฉืงื” ืฉืœื”ืŸ ื ื™ืชืŸ ืœืฉื ื•ืช ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืœืœื ืฆื•ืจืš ืœืขืจื•ืš ืงื‘ืฆื™ ืชืฆื•ืจื” ื•ืœื”ืคืขื™ืœ ืžื—ื“ืฉ. ื”ืงื•ื“ ื›ืชื•ื‘ ื‘ืฉืคืช C ื• ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืžื•ืจืฉื” ืชื—ืช Apache 2.0. ืืชื” ื™ื›ื•ืœ ืœื”ื›ื™ืจ ืืช ื”ืชื›ื•ื ื•ืช ืฉืœ NGINX Unit ื‘ ื”ึทื›ืจึธื–ึธื” ื”ื’ืจืกื” ื”ืจืืฉื•ื ื”.

ื‘ื’ืจืกื” ื”ื—ื“ืฉื”:

  • ื ื•ืกืฃ ืชืžื™ื›ื” ื‘ืื™ื–ื•ืŸ ืขื•ืžืกื™ื ื‘ืžืฆื‘ round-robin. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœืคื–ืจ ืืช ื”ืขื•ืžืก ืขืœ ืฉื ื™ ืฉืจืชื™ื 192.168.0.100 ื•-192.168.0.101 ื•ืœืฉืœื•ื— ืคื™ ืฉื ื™ื™ื ื™ื•ืชืจ ื‘ืงืฉื•ืช ืœืฉืจืช ื”ืฉื ื™, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืžื‘ื ื” ื”ื‘ื:

    "ืžืขืœื” ื–ืจืžื™ื": {
    "rr-lb": {
    "ืฉืจืชื™ื": {
    "192.168.0.100:8080": { },
    "192.168.0.101:8080": { "ืžืฉืงืœ": 2 }
    }
    }
    }

  • ืžื•ื˜ืžืข ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ื›ืœืœื™ื ื’ืžื™ืฉื™ื ืœื ื™ืชื•ื‘ ื‘ืงืฉื•ืช ื‘ื“ื•ืžื” ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช "try_files"ื‘-nginx. ืžืกืœื•ืœ ื ื•ืกืฃ ืžื•ื’ื“ืจ ื‘ืืžืฆืขื•ืช ื”ื ื—ื™ื™ืช "fallback", ืืฉืจ ืžื•ืคืขืœืช ืื ื”ืงื•ื‘ืฅ ื”ืžื‘ื•ืงืฉ ืื™ื ื• ื ืžืฆื ื‘ื ืชื™ื‘ ืฉื”ื•ื’ื“ืจ ื‘ืืžืฆืขื•ืช ื”ื•ืจืืช "ืฉื™ืชื•ืฃ". ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœืงืจื•ื ืœืžื˜ืคืœ PHP ืื ืื™ืŸ ืงื•ื‘ืฅ ื‘ืกืคืจื™ื™ืช /data/www/, ืืชื” ื™ื›ื•ืœ ืœืฆื™ื™ืŸ:

    {
    "share": "/data/www/",
    "ืœืกื’ืช": {
    "pass": "ืืคืœื™ืงืฆื™ื•ืช/php"
    }
    }

    ืžื•ืชืจ ืœื”ืฉืชืžืฉ ื‘ืœื•ืงื™ื ืžืงื•ื ื ื™ื ืžืกื•ื’ "ื ืคื™ืœื”". ืœื“ื•ื’ืžื”, ืื ื”ืงื•ื‘ืฅ ืœื ื ืžืฆื ื‘-/data/www/, ืืชื” ื™ื›ื•ืœ ืœื ืกื•ืช ืœืื—ื–ืจ ืื•ืชื• ืž-/data/cache/, ื•ืื ื’ื ื”ื•ื ืœื ืฉื, ื”ืคื ื” ืืช ื”ื‘ืงืฉื” ืœ-backend ืื—ืจ:

    {
    "share": "/data/www/",

    "ืœืกื’ืช": {
    "share": "/data/cache/",

    "ืœืกื’ืช": {
    "proxy": "http://127.0.0.1:9000"
    }
    }
    }

  • ืคืจืžื˜ืจื™ ืชืฆื•ืจื” ืฉื ื˜ืขื ื• ื‘ืคื•ืจืžื˜ JSON ืžืกืคืงื™ื ื”ืกืจื” ืฉืœ ื”ืขืจื•ืช ื‘ืกื’ื ื•ืŸ JavaScript ("//โ€ฆ" ื•-"/* โ€ฆ */") ื•ื ื™ืงื•ื™ ืฉืœ ืกืžื ื™ ืจืฆืฃ ื‘ืชื™ื (UTF-8 BOM), ืฉื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ื‘ืžืงืจื” ืฉืœ ืขืจื™ื›ื” ื™ื“ื ื™ืช ืฉืœ ืคืจืžื˜ืจื™ื ื‘-JSON.
  • ืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ืžื•ืคื—ืชืช ืขืœ ื™ื“ื™ ืฉื˜ื™ืคืช ื”ื’ื•ืฃ ืฉืœ ื‘ืงืฉื•ืช ื’ื“ื•ืœื•ืช ืžืื•ื“ ืœื“ื™ืกืง.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”