How to install Apache2 worker MPM, FCGI and APC on CentOS

Posted In Web Server - By Tum. On Monday, October 21st, 2013 With 0 Comments

apache-worker-php-fcgi-in-centos-6
โดย default แล้ว Apache ที่ทำงานบน CentOS จะทำงานในโหมด Prefork ที่รองรับการทำงานร่วมกับ PHP module แต่ถ้าหากระบบต้องรองรับโหลดที่หนัก และจำเป็นต้องเปลี่ยนการทำงานเป็น Apache worker + PHP fcgi (หรือ PHP fastcgi) เพื่อช่วยลดการใช้งาน memory ที่สูง (เมื่อใช้งานในโหมด Prefork)

สำหรับ CentOS สามารถติดตั้ง Apache2 worker MPM และ FCGI ได้ง่ายกว่า Ubuntu เล็กน้อย เนื่องจากว่า Apache บน CentOS สามารถทำงานได้ทั้งโหมด Prefork และ Worker ซึ่งไม่จำเป็นต้อง Uninstall และ Install apache ใหม่ และ PHP FCGI ก็มี package ให้ติดตั้งผ่านคำสั่ง yum

การติดตั้ง Apache2 worker MPM และ PHP FCGI

  1. ติดตั้ง EPEL repo ด้วยคำสั่ง
    CenOS 5

    CentOS 6

  2. ติดตั้ง Apache และ fcgid ด้วยคำสั่งด้านล่าง
  3. หลังจากติดตั้ง Apache และ fcgid เสร็จแล้วจำเป็นต้องแก้ไขให้ Apache ทำงานแบบ worker MPM โดยทำการแก้ไขที่ไฟล์ /etc/sysconfig/httpd ให้ uncomment ที่บรรทัดด้านล่าง หรือ copy ไปวางได้เลย
  4. ทำการ disable mod php ซึ่งโดยปกติแล้วเมื่อเราลง apache และ php ระบบ centos จะลง mod php ให้โดยอัตโนมัติ
  5. Setup FCGI สำหรับ php ด้วยการแก้ไขไฟล์ php.ini

    และให้เพิ่ม หรือ uncomment parameter ด้านล่าง
  6. เพิ่ม php script handler สำหรับ fcgid โดยเพิ่ม parameter ด้านล่างเข้าไปที่ไฟล์ /etc/httpd/conf.d/fcgid.conf
  7. สร้าง FCGIWrapper เพื่อเป็นตัว Interpreter สำหรับ PHP script

    ให้ใส่ข้อมูลด้านล่างเข้าไป
  8. แก้ไข permission ให้สามารถ execute ได้ทุก user ด้วยคำสั่ง
  9. เพิ่ม +ExecCGI ตรง options ของ vhost ต่างๆ ดังตัวอย่างด้านล่าง เพื่อกำหนดให้ vhost นี้สามารถรัน cgi ได้
  10. เมื่อแก้ไขค่าต่างๆเรียบร้อยแล้วให้ลอง test config ที่ได้แก้ไขไปด้วยคำสั่ง
  11. ถ้าหากไม่มี error อะไรก็สามารถ restart apache ได้เลย ด้วยคำสั่ง

การติดตั้ง PHP-APC

  1. ทำการติดตั้ง PHP-APC ด้วยคำสั่งด้านล่าง
  2. หลังจากติดตั้งแล้วให้แก้ไขที่ไฟล์ /etc/php.d/apc.ini โดยต้องให้แน่ใจว่า apc.enabled=1 จากนั้นกำหนดขนาดของ shared memory ที่จะให้ APC ใช้ ที่ parameter apc.shm_size ในตัวอย่างด้านล่างนี้กำหนดให้สามารถใช้งาน memory ได้ถึง 128MB
  3. เมื่อแก้ไขค่าเสร็จแล้วให้ restart apache เพื่อให้ apache โหลดค่า config ใหม่เข้ามา ด้วยคำสั่ง

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*