การเปิดตัวเซิร์ฟเวอร์แอปพลิเคชัน NGINX Unit 1.18.0

ไปยังสถานที่ การเปิดตัวเซิร์ฟเวอร์แอปพลิเคชัน NGINX หน่วย 1.18ซึ่งมีการพัฒนาโซลูชันเพื่อให้แน่ใจว่าเว็บแอปพลิเคชันจะเปิดตัวในภาษาการเขียนโปรแกรมต่างๆ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js และ Java) หน่วย NGINX สามารถรันแอพพลิเคชั่นหลายตัวพร้อมกันในภาษาการเขียนโปรแกรมที่แตกต่างกัน โดยพารามิเตอร์การเปิดตัวสามารถเปลี่ยนแปลงได้แบบไดนามิกโดยไม่จำเป็นต้องแก้ไขไฟล์การกำหนดค่าและรีสตาร์ท รหัสเขียนด้วยภาษา C และ จัดจำหน่ายโดย ได้รับอนุญาตภายใต้ Apache 2.0 คุณสามารถทำความคุ้นเคยกับคุณสมบัติของหน่วย NGINX ได้ใน ประกาศ ประเด็นแรก.

ในเวอร์ชันใหม่:

  • ใช้โหมดการแยก "rootfs» เพื่อจำกัดการเข้าถึงแอปพลิเคชันเพียงบางส่วนของระบบไฟล์ หากต้องการเปลี่ยนรูท FS ที่แอปพลิเคชันมองเห็นได้ จะใช้การเรียก pivot_root() ซึ่งแตกต่างจากการเรียกของระบบ chroot() ที่ไม่ปลอดภัย ตรงที่ไม่เพียงแต่เปลี่ยนรูท FS เท่านั้น แต่ใช้การแยกที่ระดับเนมสเปซ คล้ายกับที่ใช้ใน ตู้คอนเทนเนอร์ นอกจากนี้ นอกเหนือจากไดเร็กทอรีแอปพลิเคชันที่ระบุโดยตรงแล้ว Unit ยังติดตั้งการอ้างอิงเฉพาะภาษาทั้งหมดลงในแผนผังระบบไฟล์แบบแยกโดยอัตโนมัติ (ใช้ได้กับภาษาจำนวนจำกัดเท่านั้น)

    {
    "type": "หลาม 2.7",
    "เส้นทาง": "/",
    "บ้าน": "/venv/",
    "โมดูล": "wsgi",
    "การแยกตัว": {
    "rootfs": "/var/app/sandbox/"
    }
    }

  • ความสามารถในการระบุหลายรูปแบบสำหรับการเรียกตัวจัดการในการกำหนดค่าโดยใช้ส่วนใหม่ "เป้าหมาย". คุณลักษณะนี้ช่วยให้คุณตั้งค่ารูปแบบการกำหนดที่อยู่แบบผสมได้ง่ายขึ้น เช่น เมื่อคำขอส่วนใหญ่ได้รับการประมวลผลผ่าน index.php โดยไม่คำนึงถึง URI ที่ร้องขอ และอินเทอร์เฟซของผู้ดูแลระบบนำไปสู่การเรียกใช้สคริปต์โดยตรง ก่อนหน้านี้ การตั้งค่าดังกล่าวเกิดขึ้นผ่านคำจำกัดความของสองแอปพลิเคชัน แต่ตอนนี้คุณสามารถใช้งานได้เพียงแอปเดียวเท่านั้น ตัวอย่างเช่น แทนที่จะเป็น:

    {
    "wp_index": {
    "ประเภท": "php",
    "ผู้ใช้": "wp_user",
    "กลุ่ม": "wp_user",
    "root": "/path/to/wordpress/",
    "script": "index.php"
    },

    "wp_direct": {
    "ประเภท": "php",
    "ผู้ใช้": "wp_user",
    "กลุ่ม": "wp_user",
    "root": "/path/to/wordpress/"
    }
    }

    สามารถระบุได้

    {
    "wp": {
    "ประเภท": "php",
    "ผู้ใช้": "wp_user",
    "กลุ่ม": "wp_user",

    "เป้าหมาย": {
    "ดัชนี": {
    "root": "/path/to/wordpress/",
    "script": "index.php"
    },

    "โดยตรง": {
    "root": "/path/to/wordpress/"
    }
    }
    }
    }

  • เพิ่มการสนับสนุน การเข้ารหัส อักขระในรูปแบบ "%xx" ในตัวเลือกการจับคู่ "uri" และ "อาร์กิวเมนต์" รวมถึงในตัวเลือก "pass"

ที่มา: opennet.ru

เพิ่มความคิดเห็น