ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

Home ดู Log เว็บไซต์บน Plesk เพื่อหาสาเหตุ Error

ดู Log เว็บไซต์บน Plesk เพื่อหาสาเหตุ Error

เมื่อเว็บไซต์ขึ้น Error 500 Internal Server Error, 502 Bad Gateway, 403 Forbidden หรือแสดงหน้าขาวโดยไม่มีข้อความ หน้าเว็บมักไม่บอกสาเหตุที่แท้จริงเพื่อความปลอดภัย แต่เว็บเซิร์ฟเวอร์จะบันทึกรายละเอียดไว้ใน Log เสมอ การอ่าน Log เป็นวิธีที่เร็วที่สุดในการรู้ว่าไฟล์ใด บรรทัดใด หรือกฎใดทำให้เกิดปัญหา

บน Plesk สำหรับ Linux เว็บไซต์ทั่วไปทำงานผ่าน nginx ที่อยู่ด้านหน้า ส่งต่อไปยัง Apache และ PHP-FPM แต่ละชั้นมี Log ของตัวเอง บทความนี้อธิบายการดู Log ผ่านหน้าจอ Plesk และผ่าน SSH พร้อมตารางว่า Error แบบไหนควรดู Log ใด

สิ่งที่ต้องเตรียม

  • บัญชีเข้า Plesk Obsidian ของเว็บไซต์
  • (ไม่บังคับ) สิทธิ์ SSH หรือ FTP ถ้าต้องการเปิดไฟล์ Log โดยตรง
  • เวลาโดยประมาณที่เกิดปัญหา และ URL ของหน้าที่มีปัญหา ช่วยให้ค้นหาใน Log ได้เร็ว

ขั้นตอนที่ 1: เปิด Log Browser ใน Plesk

  1. ไปที่ Websites & Domains เลือกโดเมนที่ต้องการ
  2. กด Logs (ในบางมุมมองอยู่ในแถบเครื่องมือของโดเมน หรือเมนูสามจุด)
  3. จะเห็นรายการ Log ล่าสุด เรียงจากใหม่ไปเก่า แต่ละบรรทัดมีเวลา แหล่งที่มา (Source) และข้อความ

เครื่องมือที่ช่วยให้หาเร็วขึ้น

  • ตัวกรองประเภท: เลือกแสดงเฉพาะ Apache error, nginx error, Apache access, nginx access หรือ PHP-FPM error ตามที่มีในเซิร์ฟเวอร์ เมื่อหาสาเหตุ Error ให้เลือกเฉพาะ Log ประเภท error ก่อน
  • ช่องค้นหา: พิมพ์คำ เช่น ชื่อไฟล์ functions.php หรือ IP ของคุณ
  • การอัปเดตแบบ Real-time: เปิดไว้แล้วลองโหลดหน้าเว็บที่มีปัญหาในอีกแท็บ จะเห็นบรรทัด Error ใหม่ขึ้นมาทันที

ขั้นตอนที่ 2: เลือก Log ให้ตรงกับอาการ

อาการLog ที่ควรดูสิ่งที่มักพบ
500 Internal Server Error หรือหน้าขาวApache error (error_log) และ PHP-FPM errorPHP Fatal error, คำสั่งผิดใน .htaccess, หน่วยความจำไม่พอ
502 Bad Gatewaynginx error (proxy_error_log)PHP-FPM หรือ Apache ไม่ตอบ, upstream prematurely closed connection
504 Gateway Time-outnginx error (proxy_error_log)upstream timed out สคริปต์ทำงานนานเกินกำหนด
403 ForbiddenApache errorสิทธิ์ไฟล์ไม่ถูกต้อง, ไม่มีไฟล์ index, ModSecurity บล็อก
404 เฉพาะบางหน้าaccess log (access_ssl_log)URL ที่ถูกเรียกจริง และ Rewrite ที่ไม่ทำงาน
เว็บช้าหรือถูกยิง Request จำนวนมากaccess logIP หรือ Bot ที่เรียกซ้ำจำนวนมาก

ขั้นตอนที่ 3: อ่านบรรทัด Log

ตัวอย่าง PHP Fatal error ใน error log

[Sat Sep 19 10:15:32.123456 2026] [proxy_fcgi:error] [pid 12345] [client 198.51.100.7:52110] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function wc_get_product() in /var/www/vhosts/example.com/httpdocs/wp-content/themes/mytheme/functions.php:120'

อ่านได้ว่า ไฟล์ functions.php ของธีม บรรทัดที่ 120 เรียกฟังก์ชันของ WooCommerce ขณะที่ปลั๊กอินนั้นไม่ได้เปิดใช้งาน วิธีแก้คือเปิดปลั๊กอินกลับมา หรือแก้โค้ดบรรทัดนั้น

ตัวอย่างหน่วยความจำไม่พอ

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

134217728 bytes คือ 128 MB ให้เพิ่ม memory_limit ตาม ปรับค่า PHP (memory_limit, max_execution_time) บน Plesk

ตัวอย่างบรรทัดใน access log

198.51.100.7 - - [19/Sep/2026:10:15:32 +0700] "POST /wp-login.php HTTP/2.0" 200 4520 "-" "Mozilla/5.0 ..."

ส่วนประกอบคือ IP ผู้เรียก, เวลา, Method และ URL, HTTP Status (200), ขนาดข้อมูลที่ส่งกลับ, Referer และ User-Agent

ขั้นตอนที่ 4: ดูไฟล์ Log ผ่าน SSH หรือ FTP

ไฟล์ Log ของแต่ละโดเมนบน Plesk สำหรับ Linux อยู่ที่ /var/www/vhosts/system/example.com/logs/ และเข้าถึงได้จากโฟลเดอร์ logs ในโฟลเดอร์หลักของโดเมนผ่าน FTP หรือ File Manager

ไฟล์เนื้อหา
error_logError ของ Apache และข้อความ Error จาก PHP ที่ส่งผ่าน Apache
access_log / access_ssl_logทุก Request ผ่าน HTTP / HTTPS
proxy_error_logError ของ nginx ที่อยู่ด้านหน้า
proxy_access_log / proxy_access_ssl_logAccess log ของ nginx

ชื่อไฟล์อาจต่างเล็กน้อยตามการตั้งค่าเว็บเซิร์ฟเวอร์ของเซิร์ฟเวอร์ ใช้คำสั่ง ls ดูรายการจริงได้ ตัวอย่างคำสั่งที่ใช้บ่อย

ดู 50 บรรทัดล่าสุดของ error log

tail -n 50 /var/www/vhosts/system/example.com/logs/error_log

ติดตามแบบ Real-time (กด Ctrl + C เพื่อหยุด)

tail -f /var/www/vhosts/system/example.com/logs/error_log

ค้นหาเฉพาะ Fatal error

grep -i "fatal" /var/www/vhosts/system/example.com/logs/error_log | tail -n 20

หา 10 IP ที่เรียกเว็บมากที่สุดผ่าน HTTPS

awk '{print $1}' /var/www/vhosts/system/example.com/logs/access_ssl_log | sort | uniq -c | sort -rn | head -n 10

สำหรับ Plesk บน Windows Server ที่ใช้ IIS ไฟล์ Log ของโดเมนอยู่ในโฟลเดอร์ logs ของโดเมนเช่นกัน (โดยทั่วไปใต้ C:\Inetpub\vhosts\example.com\logs) และเปิดดูผ่านหน้า Logs ใน Plesk ได้แบบเดียวกัน

ตรวจสอบผลลัพธ์

  • หลังแก้ไขตามสาเหตุที่พบ ให้เปิดหน้า Logs แบบ Real-time ค้างไว้ แล้วโหลดหน้าเว็บที่เคยมีปัญหาใหม่ ต้องไม่มีบรรทัด Error เดิมเกิดขึ้นอีก
  • บรรทัดใน access log ของหน้านั้นต้องมี Status เป็น 200 (หรือ 301/302 ถ้าเป็นการ Redirect ที่ตั้งใจ) แทน 500, 502 หรือ 403

ปัญหาที่พบบ่อย

หน้า Logs ว่างเปล่า

Log อาจถูกหมุน (Rotate) ไปแล้ว ไฟล์เก่าจะถูกเก็บเป็นไฟล์บีบอัด เช่น error_log.processed.1.gz อ่านด้วย zcat หรือดาวน์โหลดมาเปิดในเครื่อง การตั้งค่าการหมุนไฟล์อยู่ในหน้า Logs ที่ปุ่มจัดการ Log (Manage Log Files หรือ Log Rotation ตามเวอร์ชัน) ถ้าไม่เคยมี Error ในช่วงนั้น หน้า Log error ก็จะว่างเป็นปกติ

Error 403 แต่ไม่พบสาเหตุเรื่องสิทธิ์ไฟล์

ค้นคำว่า ModSecurity ใน error log ถ้าพบบรรทัดที่มี Access denied with code 403 พร้อมเลข id ของกฎ แปลว่า Web Application Firewall บล็อก Request นั้น จดเลข id และ URL แล้วติดต่อผู้ดูแลเซิร์ฟเวอร์เพื่อพิจารณา อย่าปิด ModSecurity ทั้งเว็บเพื่อแก้ปัญหาเฉพาะหน้า

502 Bad Gateway เป็นช่วงๆ

ถ้าใน proxy_error_log มีข้อความ connect() to unix:/var/www/vhosts/system/example.com/php-fpm.sock failed หรือ PHP-FPM ถึงขีดจำกัดจำนวนโปรเซส (server reached pm.max_children) แปลว่า PHP รับ Request ไม่ทัน ตรวจว่ามี Bot หรือการโจมตีหรือไม่ด้วยคำสั่ง awk ด้านบน และลดงานหนักด้วยปลั๊กอิน Cache ถ้ายังเกิดต่อเนื่องให้ติดต่อผู้ดูแลเซิร์ฟเวอร์

WordPress ขึ้น Critical error แต่ Log ไม่ชัด

เปิดโหมด Debug ของ WordPress เพื่อให้เขียน Log ละเอียดขึ้น ดู แก้ปัญหา "There has been a critical error" ใน WordPress ด้วย WP_DEBUG

หากทำตามขั้นตอนแล้วยังติดปัญหา สามารถติดต่อทีมงาน THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/ โดยแจ้งชื่อโดเมน ขั้นตอนที่ทำไปแล้ว และข้อความ Error ที่พบ เพื่อให้ทีมงานตรวจสอบได้เร็วขึ้น

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security