ฉันต้องการที่จะใส่ลงไปในความคิดเห็นตั้งแต่ฉันเห็นด้วยกับจุดที่สำคัญที่สุดของคำตอบ webdestroyas แต่มันก็ยาวเกินไป
คุณอยู่ในสภาพแวดล้อม VPS ซึ่งหมายความว่าคุณมีแนวโน้มที่ RAM จะต่ำ ด้วยเหตุผลนี้เพียงอย่างเดียวคุณจะต้องการ Nginx เนื่องจากขนาดหน่วยความจำของมันเล็กกว่า Apaches
นอกจากนี้ฉันไม่เห็นด้วยกับข้อโต้แย้งที่กล่าวถึง
ความง่ายในการตั้งค่า:
Nginx นั้นไม่ยากกว่า Apache มันแตกต่าง. หากคุณคุ้นเคยกับ Apache การเปลี่ยนแปลงจะยากกว่านี้ไม่ได้หมายความว่าสไตล์การกำหนดเองนั้นยากกว่า ฉันย้ายจาก Apache ไปยัง Nginx อย่างสมบูรณ์เมื่อปีที่แล้วและวันนี้ฉันจะพยายามกำหนดค่าเซิร์ฟเวอร์ Apache ในขณะที่ฉันพบว่า Nginx ง่ายต่อการกำหนดค่า
สำหรับ Ruby:
Nginx มีผู้โดยสาร แต่ฉันมักจะเห็นว่าเป็นวิธีที่ด้อยกว่าในการเชื่อมต่อกับ Ruby ฉันไม่ใช่โปรแกรมเมอร์ Ruby ดังนั้นฉันจึงไม่สามารถตรวจสอบได้ แต่ฉันมักจะเห็น Unicorn และ Thin พูดถึงว่าเป็นทางเลือกที่ดีกว่า
ในบทสรุป:
Nginx ถูกสร้างขึ้นเพื่อเป็น reverse proxy ตอนแรกสิ่งที่มันทำคือการให้บริการไฟล์แบบคงที่และย้อนกลับ proxy ไปยังเซิร์ฟเวอร์ด้านหลังผ่าน HTTP / 1.0 ตั้งแต่นั้นเป็นต้นมา fastcgi, load balancing และคุณสมบัติอื่น ๆ ได้ถูกเพิ่มเข้ามา แต่มันมีจุดประสงค์ในการออกแบบเบื้องต้นคือการให้บริการไฟล์คงที่และ reverse proxy และมันก็ทำได้ดีมาก
Apache ตรงข้ามกับเว็บเซิร์ฟเวอร์ทั่วไป ฉันไม่สงสัยเลยว่ามันสามารถทำ reverse proxy ได้อย่างสมบูรณ์แบบ แต่มันไม่ได้ออกแบบมาให้มีหน่วยความจำน้อยที่สุดและด้วยเหตุนี้มันจึงต้องใช้ทรัพยากรมากกว่าที่ Nginx ทำซึ่งหมายความว่าอาร์กิวเมนต์สภาพแวดล้อม VPS เริ่มต้นของฉันเริ่มเล่น