การติดตั้ง NextPDF Connect
โดยสรุป
หัวข้อที่มีชื่อว่า “โดยสรุป”ติดตั้ง nextpdf/server ด้วย Composer แล้วเรียกใช้จุดเข้าใช้งานของทรานสปอร์ตหนึ่งในสามแบบ การติดตั้งแบบ core ต้องใช้เพียง PHP 8.4 และเอนจิน NextPDF เท่านั้น โดย Redis และ Premium เป็นตัวเลือกเสริม
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/serverคำสั่งนี้ติดตั้ง nextpdf/core: ^3.0 แพ็กเกจนี้ประกาศ php: >=8.4 <9.0 ดังนั้น Composer จะปฏิเสธการติดตั้งบน PHP 8.3 หรือต่ำกว่า หรือบน PHP 9
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”แพ็กเกจนี้เป็นแพ็กเกจ Composer ชนิด library การติดตั้งจะเพิ่มจุดเข้าใช้งานคอนโซลสี่รายการลงใน vendor/bin/:
vendor/bin/nextpdf-mcp— เซิร์ฟเวอร์ stdio แบบ Model Context Protocol (MCP)vendor/bin/nextpdf-server— เซิร์ฟเวอร์ Representational State Transfer (REST) (RoadRunner HTTP worker)vendor/bin/nextpdf-grpc— เซิร์ฟเวอร์ gRPC (RoadRunner gRPC worker)vendor/bin/generate-skills— ส่งออกแคตาล็อกเครื่องมือเป็น agent skills
สคริปต์ที่ห้าคือ bin/nextpdf-prune ซึ่งมีอยู่ในที่เก็บโค้ดสำหรับงานบำรุงรักษา ให้เรียกใช้สคริปต์นี้โดยตรงแทนการเรียกผ่าน vendor/bin/
ไม่ต้องมี service provider, bundle หรือการลงทะเบียนกับเฟรมเวิร์ก เซิร์ฟเวอร์ทำงานเป็นโปรเซสแบบสแตนด์อโลน และไม่ใช่ไลบรารีสำหรับเสียบเข้ากับแอปพลิเคชันโฮสต์
ขอบเขต API
หัวข้อที่มีชื่อว่า “ขอบเขต API”Composer จะติดตั้ง dependency สำหรับ runtime ของแพ็กเกจด้วย โดย transitive dependency เหล่านี้รวมถึงสแต็ก Hypertext Transfer Protocol (HTTP) และ gRPC:
league/routeและnyholm/psr7— การกำหนดเส้นทาง REST และข้อความ PHP Standard Recommendation (PSR)-7spiral/roadrunner-httpและspiral/roadrunner-grpc— runtime ของ RoadRunner worker สำหรับทรานสปอร์ต REST และ gRPCpsr/http-server-middlewareและpsr/http-server-handler— สัญญา middleware ตาม PSR-15 ที่ไปป์ไลน์ REST นำไปใช้symfony/yaml— การแยกวิเคราะห์ไฟล์การกำหนดค่าramsey/uuid— ตัวระบุคำขอและทรัพยากร
ไม่ควรติดตั้งแพ็กเกจเหล่านี้โดยตรง Composer จะ resolve dependency เหล่านี้จาก nextpdf/server ให้เอง
ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว”เมื่อต้องการตรวจสอบการติดตั้ง ให้แสดงรายการแคตาล็อกเครื่องมือโดยไม่ต้องเริ่มเซิร์ฟเวอร์:
./vendor/bin/generate-skills --dry-run --list-toolsคำสั่งนี้จะเริ่ม registry เรียกใช้การตรวจหา tier แล้วพิมพ์รายการเครื่องมือที่การติดตั้ง นี้ เปิดเผย รายการดังกล่าวสะท้อนแพ็กเกจเสริมที่มีอยู่ ดู /connect/tool-catalog/
ตัวอย่างโค้ด — สำหรับการใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — สำหรับการใช้งานจริง”การติดตั้งสำหรับการใช้งานจริงจะตรึงเวอร์ชันของ dependency และข้ามเครื่องมือสำหรับการพัฒนา:
composer require nextpdf/server --no-devcomposer install --no-dev --optimize-autoloader --classmap-authoritativeสำหรับทรานสปอร์ต REST และ gRPC ให้ติดตั้งไบนารี RoadRunner ด้วย RoadRunner เป็น process supervisor ที่ดูแล worker pool แพ็กเกจ PHP จัดเตรียมเฉพาะ worker ไม่ใช่ supervisor:
./vendor/bin/rr get-binaryกรณีพิเศษและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีพิเศษและข้อควรระวัง”-
Redis เป็นตัวเลือกเสริม ส่วนขยาย
ext-redisเป็นsuggestไม่ใช่requireหากไม่มีส่วนขยายนี้ เซิร์ฟเวอร์ REST จะใช้ที่เก็บแบบ in-memory สำหรับ rate-limit, idempotency และเอกสาร ที่เก็บแบบ in-memory เหล่านี้ใช้ได้ถูกต้องสำหรับ worker เดียว แต่ไม่ได้ใช้ร่วมกันทั่วทั้ง pool แบบหลาย worker สำหรับการดีพลอยแบบหลาย worker ให้ติดตั้งext-redisและตั้งค่าตัวแปรสภาพแวดล้อมของ Redis ดู /connect/configuration/ -
Premium เป็นตัวเลือกเสริม
nextpdf/premiumเป็นsuggestเมื่อติดตั้งแพ็กเกจนี้ควบคู่กับเซิร์ฟเวอร์ โพรบตรวจหา tier ของ registry จะตรวจพบคลาส provider ของแพ็กเกจและลงทะเบียนเครื่องมือ Pro และ Enterprise เพิ่มเติม หากไม่มีแพ็กเกจนี้ จะให้บริการเฉพาะแคตาล็อก core เท่านั้น นี่เป็นการตัดสินใจด้านการแพ็กเกจที่กำหนด ณ เวลาที่รันcomposer requireไม่ใช่สวิตช์ที่เปลี่ยนได้ขณะ runtime -
เซิร์ฟเวอร์ MCP ไม่ต้องใช้ RoadRunner
nextpdf-mcpเป็นโปรเซส PHP ปกติที่สื่อสารด้วย JavaScript Object Notation Remote Procedure Call (JSON-RPC) ผ่าน standard input และ output (stdio) RoadRunner จำเป็นเฉพาะสำหรับทรานสปอร์ต REST และ gRPC เท่านั้น
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”การ resolve dependency ของ Composer เป็นค่าใช้จ่ายด้านเวลาส่วนใหญ่ระหว่างการติดตั้ง ในอิมเมจสำหรับการใช้งานจริง ให้ใช้ --prefer-dist และ classmap แบบ authoritative เพื่อลดเวลา autoload ตอน cold-boot ค่าใช้จ่ายในการบูตของเซิร์ฟเวอร์เองมาจากการสแกน registry และการตรวจหา tier performance_budget ในหน้านี้กำหนดขอบเขตของค่าใช้จ่ายในการบูตนั้น
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”ติดตั้งจากแพ็กเกจ Packagist อย่างเป็นทางการ nextpdf/server เท่านั้น ตรึงเวอร์ชันใน composer.json และ commit composer.lock เพื่อให้แคตาล็อกเครื่องมือที่ดีพลอยแล้วทำซ้ำได้ ทรานสปอร์ตที่ทำงานผ่านเครือข่ายต้องใช้คีย์ application programming interface (API) ก่อน จึงจะให้บริการ endpoint ที่ไม่ใช่ health ใด ๆ ได้ ดู /connect/security-and-operations/
ความสอดคล้องตามมาตรฐาน
หัวข้อที่มีชื่อว่า “ความสอดคล้องตามมาตรฐาน”หน้านี้อธิบายเฉพาะกลไกการติดตั้งเท่านั้น การอ้างอิงด้านความสอดคล้องของโปรโตคอลและความปลอดภัยถูกตรึงไว้ที่ /transports/mcp/, /transports/rest/, /transports/grpc/ และ /connect/security-and-operations/
บริบทเชิงพาณิชย์
หัวข้อที่มีชื่อว่า “บริบทเชิงพาณิชย์”การติดตั้งแบบ core ทำงานได้ครบถ้วน และรองรับการสร้างเอกสาร การตรวจสอบ และการวินิจฉัยผ่านทรานสปอร์ตทั้งสาม การเพิ่ม nextpdf/premium จะขยายแคตาล็อกโดยไม่เปลี่ยนทรานสปอร์ตหรือโมเดลการพิสูจน์ตัวตน
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- /connect/overview/ — สิ่งที่แพ็กเกจจัดเตรียมให้
- /connect/quickstart/ — การโต้ตอบแรกที่เรียกใช้ได้
- /connect/configuration/ — ตัวแปรสภาพแวดล้อมและไฟล์การกำหนดค่า
- /connect/deployment/ — RoadRunner, Docker และการดีพลอยที่รวมหลายทรานสปอร์ต
- /connect/tool-catalog/ — เครื่องมือที่การติดตั้งนี้เปิดเผย