แก้ไขปัญหา PHP อัปโหลดไฟล์ขนาดใหญ่ บนเว็บเซิร์ฟเวอร์ nginx

ค่าคอนฟิกในโปรแกรมที่ติดตั้งมาส่วนใหญ่ โดยดีฟอลต์จะถูกตั้งค่ามาให้สามารถรันและใช้งานบนเครื่องทั่วไปได้ ทำให้บางครั้งเมื่อมีปริมาณการใช้งานเพิ่มมากขึ้น อาจจะมีปัญหาในการใช้งาน

ลองมาดูวิธีการตรวจสอบ และแก้ไขปัญหาการอัปโหลดไฟล์ขนาดใหญ่ด้วย PHP ที่รันโหมด FPM ทำงานร่วมกับ nginx เป็นเว็บเซิร์ฟเวอร์กัน ว่าจะต้องแก้ไขคอนฟิกอะไรบ้าง เพื่อให้สามารถอัปโหดลไฟล์ขนาดใหญ่ตามที่เราต้องการได้

ในที่นี้จะใช้โปรแกรม WordPress 4.8.2 ทดสอบบน Ubuntu 16.04 ซึ่งถ้าไม่แก้ไขคอนฟิก จะติดปัญหาการอัปโหลดไฟล์ขนาดใหญ่ เพราะโปรแกรมนี้ถูกพัฒนาด้วยภาษา PHP

Continue reading “แก้ไขปัญหา PHP อัปโหลดไฟล์ขนาดใหญ่ บนเว็บเซิร์ฟเวอร์ nginx”

ติดตั้ง VirtualBox Guest Additions บน CentOS 7

เพื่อให้เครื่องเสมือน (guest) ที่ถูกติดตั้งใน VirtualBox ทำงานได้ดีมากขึ้น แนะนำให้ติดตั้ง Guest Additions บนระบบปฏิบัติการที่ลงบนเครื่องเสมือนด้วย ไม่ว่าจะเป็น Linux, Windows

โปรแกรม VirtualBox ได้เตรียมชุดโปรแกรม Guest Additions ไว้เป็น CD image เพื่อให้เรียกใช้ได้ เหมือนกับการเรียกใช้แผ่น CD หรือ DVD บนเครื่องเสมือน

ในที่นี้จะแสดงวิธีการติดตั้ง Guest Additions บน CentOS 7 ที่ติดตั้งบนเครื่องเสมือน

Continue reading “ติดตั้ง VirtualBox Guest Additions บน CentOS 7”

ติดตั้งและคอนฟิก nginx บน CentOS 7

ว่ากันว่าเป็นเว็บเซิร์ฟเวอร์ที่ทำงานได้เร็วกว่า รองรับจำนวนผู้ใช้งานได้มากกว่า และกำลังมาแรงตัวหนึ่ง ด้วยจำนวนผู้ใช้งานเพิ่มขึ้นเรื่อยๆ (จากข้อมูลของ Netcraft) เลยต้องมาทดลองกันซะหน่อย

ในที่นี้จะทดลองติดตั้งและคอนฟิกแบบง่ายๆ บน CentOS 7 โดยใช้แพ็กเกจที่อยู่ใน EPEL ที่เป็นเวอร์ชัน 1.6 ซึ่งเป็นเวอร์ชันหลัก (stable) เดิมอยู่ ล่าสุด ณ ตอนที่เขียนเวอร์ชันหลัก (stable) ล่าสุดเป็นเวอร์ชัน 1.8.x แล้ว

และพร้อมติดตั้งแพ็กเกจ php-fpm เพื่อให้เว็บเซิร์ฟเวอร์ nginx รองรับการเขียนโปรแกรมด้วยภาษา php ได้
Continue reading “ติดตั้งและคอนฟิก nginx บน CentOS 7”

ติดตั้ง MongoDB v3.0 บน CentOS 7

อยู่ในช่วงกำลังศึกษา NoSQL เพื่อหาวิธีการจัดเก็บข้อมูลแบบใหม่ ให้สามารถรองรับจำนวนข้อมูลขนาดใหญ่ ที่ไม่อยู่ในรูปแบบที่แน่นอน (non SQL)

หลายสำนักเห็นตรงกันว่าให้ลองใช้ MongoDB ซึ่งเป็นที่นิยมกันมาก ด้วยคุณสมบัติ ประสิทธิภาพ เอกสาร คู่มือการใช้งาน วิธีการแก้ไขปัญหา ก็มีแพร่หลายอยู่บนอินเทอร์เน็ต โปรแกรมภาษาต่างๆ ก็มีโมดูลในการเขียนโปรแกรมเชื่อมต่อแล้ว แถมยังสามารถใช้งานได้ฟรีอีกด้วย

เริ่มต้นลองมาดูวิธีการติดตั้ง MongoDB บน CentOS 7 เพื่อรันเป็นเซิร์ฟเวอร์กัน

Continue reading “ติดตั้ง MongoDB v3.0 บน CentOS 7”

คอนฟิก QoS บนลีนุกซ์ด้วย HTB

หากคุณใช้ลีนุกซ์เป็น gateway หรือ router เชื่อมต่อระหว่างเน็ตเวิร์ก เช่นระหว่างภายในบริษัทและอินเตอร์เน็ต และต้องการควบคุมปริมาณการส่งข้อมูล Traffic Control หรือ QoS เช่นกำหนดว่าให้ใคร (ip, port) สามารถใช้ bandwidth ได้เท่าไรบ้าง

เท่าที่ผู้เขียนทดลองมา คิดว่าการใช้คำสั่ง tc คอนฟิกการใช้ bandwidth ด้วย HTB บนลีนุกซ์ น่าจะเป็นวิธีการคอนฟิกที่ง่ายที่สุด และยังสามารถกำหนดรายละเอียดในการคอนฟิกได้ค่อนข้างละเอียดอีกด้วย

Continue reading “คอนฟิก QoS บนลีนุกซ์ด้วย HTB”

ว่าด้วยฟังก์ชั่น sort ใน PHP

การเรียงค่าข้อมูลถือเป็นงานหนึ่งของโปรแกรมเมอร์ที่ต้องพบเจอเวลาเขียนโปรแกรมอยู่เสมอ เพื่อให้ผลลัพธ์ที่แสดงออกหน้าจอเป็นไปตามที่ผู้ใช้งานต้องการ

ลองมาดูกันว่าถ้าพัฒนาโปรแกรมด้วย PHP มีฟังก์ชั่น (function) อะไรให้เรียกใช้ ในการเรียงข้อมูลที่อยู่ใน array โดยที่ไม่ต้องไปคิดวิธีการเรียงเอง เผื่อชีวิตจะง่ายขึ้น

ตัวอย่างในบทความนี้ทดสอบกับ PHP 5.3
Continue reading “ว่าด้วยฟังก์ชั่น sort ใน PHP”

เพิ่มประสิทธิภาพการค้นหาข้อมูลใน MySQL ด้วย FULLTEXT SEARCH

หากต้องการค้นหาข้อมูลใน MySQL เราสามารถใช้ WHERE ระบุชื่อคอลัมน์ ตามด้วย LIKE หรือ RLIKE เพื่อค้นหาคำหรือรูปแบบคำที่เราต้องการค้นหา ถ้าฐานข้อมูลหรือตารางของเรามีขนาดไม่ใหญ่มากนัก วิธีนี้ก็สามารถใช้งานได้ แต่ถ้าฐานข้อมูลขนาดใหญ่ การใช้ LIKE หรือ RLIKE อาจทำงานช้า

ขอแนะนำการทำ FULLTEXT SEARCH ใน MySQL เพื่อเพิ่มประสิทธิภาพการค้นหา โดย MySQL จะมีการทำ index คำของคอลัมน์ที่ต้องการค้น คำนวณคะแนน แสดงผลลัพธ์ที่ได้สามารถเรียงตามเนื้อหาที่เกี่ยวข้องได้

Continue reading “เพิ่มประสิทธิภาพการค้นหาข้อมูลใน MySQL ด้วย FULLTEXT SEARCH”

ใช้ snmp ดึงค่า IP SLA (RTR) จาก Cisco

นอกจากจะใช้คำสั่ง show บนตัวอุปกรณ์ Cisco เองแล้ว เราสามารถเขียนโปรแกรมโดยดึงค่าผลลัพธ์เหล่านี้ผ่านทาง SNMP เพื่อนำทำรายงาน เก็บประวัติ หรือทำเป็นกราฟได้

ในที่นี้ขอยกตัวอย่างการใช้ snmpwalk ดึงค่า rtr จากที่ได้ คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น โดยจะแสดงวิธีการเฉพาะบางค่าเท่านั้น เพื่อให้ผู้อ่านทำความเข้าใจเบื้องต้น จะได้นำไปประยุกต์ใช้ต่อไป
Continue reading “ใช้ snmp ดึงค่า IP SLA (RTR) จาก Cisco”

คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น

วันนี้ขออนุญาตข้ามฟากไปทดสอบคอนฟิก IP SLA (ชื่อเดิม RTR) บนอุปกรณ์ Cisco ซึ่งเป็นคุณสมบัติอย่างหนึ่งที่ทำให้ Cisco ทดสอบประสิทธิภาพเครือข่ายด้วยตัวอุปกรณ์เองได้ เช่นให้ทดสอบ ping ทดสอบการเชื่อมต่อด้วยโปรโตคอล เช่น HTTP, DNS, FTP, TCP, UDP ไปยังปลายทางที่ต้องการได้

เมื่อทดสอบเสร็จ ก็จะเก็บผลลัพธ์ในตัวอุปกรณ์เอง เราสามารถใช้คำสั่ง show บนตัวอุปกรณ์ เพื่อดูผลลัพธ์ เช่น ping หรือเชื่อมต่อไปยังปลายทางได้หรือไม่ พร้อมบอกตัวเลขสถิติ เช่น response time

Continue reading “คอนฟิก IP SLA (RTR) บน Cisco เบื้องต้น”