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

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

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

  • ืžืฆื‘ ื‘ื™ื“ื•ื“ ืžื™ื•ืฉื"rootfsยป ื›ื“ื™ ืœื”ื’ื‘ื™ืœ ืืช ื”ื’ื™ืฉื” ืœืืคืœื™ืงืฆื™ื” ืจืง โ€‹โ€‹ืœื—ืœืง ืžืกื•ื™ื ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื. ื›ื“ื™ ืœืฉื ื•ืช ืืช ืฉื•ืจืฉ ื”-FS ื”ื’ืœื•ื™ ืœืืคืœื™ืงืฆื™ื”, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืงืจื™ืื” pivot_root(), ืฉื‘ื ื™ื’ื•ื“ ืœืงืจื™ืื” ืฉืœ ื”ืžืขืจื›ืช ื”ืœื ื‘ื˜ื•ื—ื” chroot() ืื™ื ื” ืคืฉื•ื˜ ืžืกื™ื˜ื” ืืช ืฉื•ืจืฉ ื”-FS, ืืœื ืžืฉืชืžืฉืช ื‘ื‘ื™ื“ื•ื“ ื‘ืจืžืช ืžืจื—ื‘ ื”ืฉืžื•ืช, ื‘ื“ื•ืžื” ืœื–ื” ื”ืžืฉืžืฉ ื‘- ืžื™ื›ืœื™ื. ื™ืชืจื” ืžื›ืš, ื‘ื ื•ืกืฃ ืœืกืคืจื™ื™ืช ื”ื™ื™ืฉื•ืžื™ื ืฉืฆื•ื™ื ื” ื™ืฉื™ืจื•ืช, Unit ื’ื ืžืขืœื” ืื•ื˜ื•ืžื˜ื™ืช ืืช ื›ืœ ื”ืชืœื•ืช ื”ืกืคืฆื™ืคื™ืช ืœืฉืคื” ืœืชื•ืš ืขืฅ ืžืขืจื›ืช ืงื‘ืฆื™ื ืžื‘ื•ื“ื“ (ืขื•ื‘ื“ ืจืง ืขื‘ื•ืจ ืžืกืคืจ ืžื•ื’ื‘ืœ ืฉืœ ืฉืคื•ืช).

    {
    "type": "python 2.7",
    "ื ืชื™ื‘": "/",
    "home": "/venv/",
    "module": "wsgi",
    "ื‘ื™ื“ื•ื“": {
    "rootfs": "/var/app/sandbox/"
    }
    }

  • ื”ื™ื›ื•ืœืช ืœืฆื™ื™ืŸ ืžืกืคืจ ืกื›ืžื•ืช ืœืงืจื™ืื” ืœืžื˜ืคืœื™ื ื‘ืชืฆื•ืจื” ื‘ืืžืฆืขื•ืช ื”ืกืขื™ืฃ ื”ื—ื“ืฉ "ืžื˜ืจื•ืช". ืชื›ื•ื ื” ื–ื• ืžืืคืฉืจืช ืœืš ืœืคืฉื˜ ืืช ื”ื”ื’ื“ืจื” ืฉืœ ืกื›ื™ืžื•ืช ืžืขื ื” ืžืขื•ืจื‘ื•ืช, ื›ืืฉืจ, ืœืžืฉืœ, ืจื•ื‘ ื”ื‘ืงืฉื•ืช ืžืขื•ื‘ื“ื•ืช ื“ืจืš index.php ืœืœื ืงืฉืจ ืœ-URI ื”ืžื‘ื•ืงืฉ, ื•ืžืžืฉืง ื”ืžื ื”ืœ ืžื•ื‘ื™ืœ ื™ืฉื™ืจื•ืช ืœืกืงืจื™ืคื˜ื™ื ืœื”ืชืงืฉืจื•ืช. ื‘ืขื‘ืจ, ื”ื’ื“ืจื•ืช ื›ืืœื” ื ืขืฉื• ื‘ืืžืฆืขื•ืช ื”ื’ื“ืจื•ืช ืฉืœ ืฉื ื™ ื™ื™ืฉื•ืžื™ื, ืื‘ืœ ืขื›ืฉื™ื• ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ืขื ืื—ื“ ื‘ืœื‘ื“. ืœื“ื•ื’ืžื”, ื‘ืžืงื•ื:

    {
    "wp_index": {
    "type": "php",
    "user": "wp_user",
    "group": "wp_user",
    "root": "/path/to/wordpress/",
    "script": "index.php"
    },

    "wp_direct": {
    "type": "php",
    "user": "wp_user",
    "group": "wp_user",
    "root": "/path/to/wordpress/"
    }
    }

    ื ื™ืชืŸ ืœืฆื™ื™ืŸ

    {
    "wp": {
    "type": "php",
    "user": "wp_user",
    "group": "wp_user",

    "ืžื˜ืจื•ืช": {
    "ืื™ื ื“ืงืก": {
    "root": "/path/to/wordpress/",
    "script": "index.php"
    },

    "ื™ืฉื™ืจ": {
    "root": "/path/to/wordpress/"
    }
    }
    }
    }

  • ื ื•ืกืคื” ืชืžื™ื›ื” ืกึดืžื•ึผืœ ืชื•ื•ื™ื ืžื”ืฆื•ืจื” "%xx" ื‘ืืคืฉืจื•ื™ื•ืช ื”ื”ืชืืžื” "uri" ื•-"arguments", ื›ืžื• ื’ื ื‘ืืคืฉืจื•ืช "pass".

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

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