เจอคำถามว่า Apache configure ได้กี่แบบ?

แล้วคนถามไม่ได้บอกคำตอบอ่ะครับ เลยอยากรู้ว่าจริงๆแล้ว apache มัน configure ได้กี่แบบเนี้ย เค้าถามเพื่อต้องการคำตอบประมาณไหนอ่ะครับ

แล้วก็อีกอันนึง จะใช้อะไรตัดสินใจว่าจะเลือกใช้ apache หรือ nginx?

เสนอคำตอบกันได้เลยครับทุกท่าน

ถ้าเอาแบบทั่วๆไป ก็น่าจะแบ่งเป็นสองแบบนี้มั้งครับ

  • apache prefork + mod_php
  • apache worker + php-cgi (อาจจะเป็น fork หรือ fpm ก็ได้)

ส่วน apache vs nginx คงบอกได้แค่ว่า ถ้าไม่รู้ว่าจะใช้ nginx ไปทำไม ก็แสดงว่ายังไม่จำเป็นต้องใช้ครับ

ตั้งแต่อยู่ THT มายังไม่เคยเห็น user ท่านไหนแนะนำหรือบอกให้ config apache วิธี 1, 2 หรือ 3 เลยครับ ผมไม่รู้นะครับ งูๆ ปลาๆ เหมือนกัน

ลองเรียก ./configure --help ดูครับ
แต่ละ option สามารถ enable disable ได้ตามความต้องการ อะไรไม่ต้องการก็ --without หรือ --disable ออกไป อะไรที่ต้องการเพิ่มก็ --with หรือ --enable เพิ่มเข้าไป
โดยเลือกให้เหมาะสมกับที่ต้องการใช้งาน เช่นจะใช้ php แบบ cgi ก็ใช้เป็น worker

ถ้า user ถามผมแบบนี้ ผมก็จะตอบว่า อยากได้แบบใหนก็บอกมาเดี๋ยวจัดให้ ถ้าไม่รู้หรือไม่ระบุ ผมก็ลงแบบ default ให้นั่นล่ะ

Nginx + Apache

ถ้าเอาหลักๆก็เหมือนท่าน rtsp เลยครับ

prefork กับ worker สำหรับ apache

ส่วนเวลาไหนที่ควรจะใช้ Nginx ก็คงเหมือนกันอีกแหละ ถ้าไม่รู้จะใช้ทำไมก็คงยังไม่ถึงเวลาที่ต้องใช้

ใจนึงก็เห็นด้วยนะครับ
แต่บางคนก็ไม่รู้ก็ใช้ apache แล้วก็ทนอืดๆไป จนมารู้ว่าถ้าใช้ nginx จะช่วยได้ ซึ่งถ้ารู้ล่วงหน้าแล้วลง nginx ซะแต่ทีแรก ก็ไม่ต้องไปเสียเวลากับ apache

apache มันเป็นที่รู้จักมากกว่า หาข้อมูลได้ง่ายกว่า เซ็ตง่ายกว่า มีพวกตัวเสริมเยอะกว่า เข้ากับพวกโปรแกรมสำเร็จรูปได้มากกว่า

nginx เหมาะสำหรับระบบที่มีจำนวนคนเข้าใช้งานพร้อมกันเยอะๆในช่วงเวลาใกล้ๆกัน แต่ประสิทธิภาพโดยรวมก็ดีกว่า apache แต่ยังมีปัญหาเล็กน้อยกับระบบเก่าๆบางแบบบางอย่าง(แต่ก็แก้ไขไวมาก จนตอนนี้น่าจะเข้ากันได้ 99% แล้วล่ะ แต่อาจจะต้องปรับอะไรบางอย่างหน่อยนึงด้วย) อีกเรื่องคือหาคนทำยังยากอยู่เพราะมันใหม่ และมีวิธี config ไม่เหมือน apache

โอ้ว ได้คำตอบหลากหลายเลยครับ ขอบคุณทุกๆท่านมาก แต่ผมก็ยังอธิบายลูกค้าไม่ได้ว่าทำไมต้องใช้ nginx เนี้ยแหละครับ