ดู 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
- ไปที่ Websites & Domains เลือกโดเมนที่ต้องการ
- กด Logs (ในบางมุมมองอยู่ในแถบเครื่องมือของโดเมน หรือเมนูสามจุด)
- จะเห็นรายการ 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 error | PHP Fatal error, คำสั่งผิดใน .htaccess, หน่วยความจำไม่พอ |
| 502 Bad Gateway | nginx error (proxy_error_log) | PHP-FPM หรือ Apache ไม่ตอบ, upstream prematurely closed connection |
| 504 Gateway Time-out | nginx error (proxy_error_log) | upstream timed out สคริปต์ทำงานนานเกินกำหนด |
| 403 Forbidden | Apache error | สิทธิ์ไฟล์ไม่ถูกต้อง, ไม่มีไฟล์ index, ModSecurity บล็อก |
| 404 เฉพาะบางหน้า | access log (access_ssl_log) | URL ที่ถูกเรียกจริง และ Rewrite ที่ไม่ทำงาน |
| เว็บช้าหรือถูกยิง Request จำนวนมาก | access log | IP หรือ 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_log | Error ของ Apache และข้อความ Error จาก PHP ที่ส่งผ่าน Apache |
access_log / access_ssl_log | ทุก Request ผ่าน HTTP / HTTPS |
proxy_error_log | Error ของ nginx ที่อยู่ด้านหน้า |
proxy_access_log / proxy_access_ssl_log | Access 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 ที่พบ เพื่อให้ทีมงานตรวจสอบได้เร็วขึ้น
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี


