ฉันสามารถโฮสต์ node.js และ Django ในเซิร์ฟเวอร์เดียวได้หรือไม่

ฉันมีโฮสติ้ง VPS เพียงอันเดียวและใช้ nginx สำหรับเว็บแอปพลิเคชัน Django ตอนนี้ผมเตรียมเปิด App ใหม่ด้วย Node.js แล้วสามารถ Host บน Server ปัจจุบันได้ไหมครับ? ฉันคิดว่า Node.js กำลังใช้งานเซิร์ฟเวอร์ http ของตัวเองและอาจขัดแย้งกับเซิร์ฟเวอร์ nginx


person saturngod    schedule 19.05.2011    source แหล่งที่มา
comment
คุณจะต้องตรวจสอบให้แน่ใจว่าพวกเขากำลังฟังบนพอร์ตที่แตกต่างกัน แต่ไม่เช่นนั้นก็ไม่ควรขัดแย้งกัน   -  person leek    schedule 19.05.2011


คำตอบ (2)


คุณสามารถโฮสต์เซิร์ฟเวอร์ http หลายเซิร์ฟเวอร์บน VPS เดียวได้ ข้อขัดแย้งจะเกิดขึ้นก็ต่อเมื่อทั้ง nginx และ node.js เชื่อมโยงกับพอร์ตเดียวกัน ตัวอย่างเช่น หากเว็บเซิร์ฟเวอร์ nginx ของคุณกำลังฟังบนพอร์ต 80 เซิร์ฟเวอร์ http ของ node.js ของคุณควรฟังบนพอร์ตอื่นที่ไม่ใช่ 80 เช่นพอร์ต 8080 คุณยังสามารถตั้งค่า reverse proxy (ในกรณีที่คุณต้องการสรุปเครือข่ายภายในของคุณและให้บริการไคลเอ็นต์บนพอร์ตเดียวกัน) โดยที่คุณจะยอมรับการเชื่อมต่อขาเข้าบนพอร์ต 80 และ nginx จะส่งต่อการสื่อสาร เฉพาะสำหรับ node.js ไปยังพอร์ต 8080

person yojimbo87    schedule 19.05.2011
comment
โปรดทราบว่าไฟร์วอลล์ขององค์กรจำนวนมากบล็อกสิ่งอื่นใดนอกเหนือจาก 80 และ 443 (http(s)) และอาจมีพอร์ตอีเมลบางพอร์ต การใช้ IP ที่สองอาจเป็นทางออกที่ดีที่สุดในกรณีนั้น - person Husky; 03.07.2011
comment
ไม่จำเป็นต้องใช้หลาย ips สามารถใช้โฮสต์เสมือนกับพร็อกซีได้อย่างง่ายดาย ดังนั้นคุณจะต้องมีโหนดที่ทำงานบน 8080 ภายในจากนั้นจึงใช้พอร์ตพร็อกซี 80 สำหรับ vhost นั้นใน nginx ไปยังโหนด - person Mark Shust at M.academy; 23.11.2013

หากคุณมีที่อยู่ IP หลายรายการ คุณสามารถให้ nginx ฟังพอร์ต IP1 80 และ nodejs บนพอร์ต IP2 80 ได้ หากไม่เป็นเช่นนั้น (คุณมีที่อยู่ IP เดียวเท่านั้น) คุณอาจต้องใช้พอร์ตที่แตกต่างกันสำหรับแต่ละเว็บเซิร์ฟเวอร์

person Bucanero    schedule 20.05.2011