หน้าแรก / คู่มือ / deploy แอป AI

เขียนเว็บแอปด้วย AI แล้ว deploy ยังไง?
คู่มือเอาขึ้นใช้จริงบน Shared Hosting

โดย ชลธิศ วันเพียรอัปเดต 4 ก.ค. 2569อ่าน ~9 นาทีฉบับมือใหม่

AI อย่าง Claude, Cursor, Copilot ช่วยคุณเขียนเว็บแอปได้ในไม่กี่ชั่วโมง รันในเครื่องก็สวยงาม แต่พอจะเอาขึ้นเน็ตให้คนอื่นใช้จริงกลับติด — อัปโหลดไปแล้วเว็บขาว, error เต็มไปหมด, ฐานข้อมูลหาย. คู่มือนี้อธิบายว่าทำไม และวิธีเอาแอปที่ AI เขียนขึ้น shared hosting ให้ใช้งานได้จริง แบบมือใหม่ก็ทำตามได้

01ปัญหาของ "vibe coding" — เขียนเป็น แต่ deploy ไม่เป็น

ยุคนี้ใครก็เขียนแอปได้ บอก AI ว่าอยากได้ระบบจองคิว ระบบสต็อก หรือแดชบอร์ด ไม่กี่นาทีก็ได้โค้ดมารันในเครื่อง เปิด localhost:5000 แล้วใช้งานได้เลย ความรู้สึกคือ "จบแล้ว!"

แต่ การเขียนโค้ด กับ การ deploy (เอาขึ้นใช้จริง) เป็นคนละเรื่องกันสิ้นเชิง ในเครื่องคุณ แอปมี Python หรือ Node รันเป็นเซิร์ฟเวอร์ค้างไว้ตลอด มีฐานข้อมูลของมันเอง เปิด port ได้ตามใจ — พอย้ายขึ้น hosting จริง กติกาเปลี่ยนหมด และนี่คือจุดที่คนส่วนใหญ่ติด

02ทำไมแอป AI รันบน shared hosting ตรง ๆ ไม่ได้

Shared hosting (เช่นที่ใช้ DirectAdmin หรือ cPanel — โฮสต์ราคาหลักร้อยที่คนส่วนใหญ่ใช้) ออกแบบให้หลายเว็บอยู่บนเครื่องเดียวกัน จึงต้องจำกัดสิทธิ์เพื่อไม่ให้เว็บหนึ่งไปกวนคนอื่น ข้อจำกัดที่กระทบแอป AI โดยตรง:

นี่แหละสาเหตุ

แอปที่ AI เขียนมัก "รันในเครื่องได้ แต่ขึ้น host แล้วพัง" เพราะ AI เขียนโดยสมมติว่ามีเซิร์ฟเวอร์รันค้างได้ตลอดเวลา ซึ่งบน shared hosting ไม่มี

032 ทางเลือก: แปลงเข้า shared host vs เช่า VPS

มีทางไปต่อ 2 ทาง เลือกให้ตรงกับงานและงบ:

 แปลงเข้า Shared Hostเช่า VPS
ราคาถูก (หลักร้อย/เดือน)แพงกว่า (หลักพัน/เดือน)
ดูแลระบบโฮสต์ดูแลให้ต้องดูแลเอง (อัปเดต/security)
รันโค้ดเดิมได้เลยต้องแปลงก่อนรันได้ตรง ๆ
เหมาะกับเว็บแอป CRUD, ระบบร้าน, ฟอร์ม, แดชบอร์ดreal-time, AI หนัก, process รันค้าง
สรุป

งานส่วนใหญ่ (เว็บแอปทั่วไปที่แค่บันทึก–แสดง–แก้ข้อมูล) แปลงเข้า shared host คุ้มกว่าเยอะ — ถูกกว่าหลายเท่า ไม่ต้องปวดหัวดูแลเซิร์ฟเวอร์เอง บทความนี้จะโฟกัสทางนี้

04เตรียมแอปก่อน deploy (checklist ตามภาษา)

ถ้าแอปเป็น Python (Flask / FastAPI / Django)

ถ้าแอปเป็น Node (Express / Next.js)

ถ้ามี Frontend (React / Vue / Next)

ฐานข้อมูล

05โมเดล "convert เข้าระบบ host" (หัวใจของเรื่อง)

หลักคิดคือ: เก็บ "สิ่งที่แอปทำ" ไว้ให้ครบ แต่เปลี่ยน "วิธีรัน" ให้เข้ากับ shared host ตารางนี้คือแผนที่การแปลง:

AI เขียนมาเป็นแปลงเป็น (รันบน host ได้)
เซิร์ฟเวอร์ Python/Node รันค้างPHP / Laravel ที่ทำงานเป็น request (เรียกเมื่อมีคนเข้า)
worker / loop รันตลอดเวลาcron job (ตั้งให้รันทุก 1/5/10 นาที)
SQLite / PostgreSQL / MongoDBMySQL / MariaDB (แปลง schema + import)
เรียกโมเดล AI ในเครื่อง→ เรียก API ภายนอก (Claude / GPT / Gemini)
ค่า secret ในโค้ด→ ย้ายไป .env / ตั้งใน panel ของ host
websocket / real-timepolling ทุกไม่กี่วินาที (พอสำหรับงานส่วนใหญ่)

ตัวอย่างที่ชัดที่สุด: แอปที่มี "worker คอยเช็คออเดอร์ใหม่ทุกวินาที" บน shared host รันแบบนั้นไม่ได้ แต่แปลงเป็น cron job รันทุก 1 นาที ก็ได้ผลลัพธ์เกือบเหมือนกัน ในราคาที่ถูกกว่ามาก

06แปลงโค้ดเป็น PHP 8.4 ด้วย AI (+ prompt สำเร็จรูป)

วิธีที่เร็วที่สุดในการแปลงคือ ให้ AI แปลงให้ — แต่ถ้าสั่งลอย ๆ ว่า "แปลงเป็น PHP" มักได้โค้ดที่ยังรันบน shared host ไม่ได้อยู่ดี (ยังมี process ค้าง, ต่อ DB ผิด, hardcode path) เคล็ดลับคือ สั่งให้ครบข้อกำหนดของ shared host — ก๊อป prompt ด้านล่างไปวางในแชท AI (Claude / ChatGPT) แล้วแนบโค้ดเดิมต่อท้าย

host เรารองรับ

PHP 8.4 + MariaDB (ผ่าน PDO) + Redis สำหรับ cache/session — งานข้อมูลเยอะหรือโหลดหนักก็รับไหว โดยไม่ต้องขึ้น VPS

PROMPT · แปลงโค้ดเป็น PHP 8.4 + MariaDB
คุณคือวิศวกรที่เชี่ยวชาญการย้ายเว็บแอปขึ้น shared hosting (DirectAdmin)
ฉันจะแนบโค้ดแอปเดิม (Python / Node / อื่น ๆ) ให้ ช่วยแปลงเป็น PHP 8.4 + MariaDB
ให้รันบน shared hosting ได้จริง โดยทำตามข้อกำหนดนี้อย่างเคร่งครัด:

1) ทำงานแบบ request-based เท่านั้น — ห้ามมี process/daemon/worker ที่รันค้างตลอดเวลา
2) ฐานข้อมูล = MariaDB/MySQL ต่อผ่าน PDO + prepared statements (กัน SQL injection)
   ถ้าเดิมเป็น SQLite/PostgreSQL/MongoDB ให้แปลง schema และเขียนไฟล์ schema.sql ให้ด้วย
3) ค่า config/secret ทุกตัวอ่านจากไฟล์ .env (ห้าม hardcode) และแนบ .env.example
4) งานที่เดิมเป็น background loop/worker ให้แยกเป็นสคริปต์ PHP ที่สั่งด้วย cron ได้
   พร้อมบอกบรรทัด crontab ที่ต้องตั้ง
5) ถ้ามีการเรียกโมเดล AI ในเครื่อง ให้เปลี่ยนเป็นเรียก API ภายนอก (คีย์อยู่ใน .env)
6) ถ้าข้อมูลเยอะ/โหลดหนัก ให้ใช้ Redis เป็น cache/session (เปิด-ปิดผ่าน .env)
   และทำ query ให้มี index + pagination
7) โครงสร้างไฟล์แบบ DirectAdmin: public_html เป็น web root, ไฟล์ลับอยู่นอก web root
8) ใช้ฟีเจอร์ PHP 8.4 (typed properties, enum, match, nullsafe) และห้ามแสดง error
   บนหน้าเว็บ ให้ log แทน

ส่งกลับมาให้ครบ: โครงสร้างไฟล์, โค้ด PHP ทุกไฟล์, schema.sql, .env.example,
บรรทัด crontab (ถ้ามี), และขั้นตอน deploy สั้น ๆ

โค้ดเดิมของฉัน:
【 วางโค้ดที่ AI เขียนมาตรงนี้ 】

เมื่อได้โค้ด PHP 8.4 + schema.sql + .env.example มาแล้ว → ทำตามขั้นตอน deploy ข้อถัดไป หรือส่งมาให้เรา deploy ให้ครบเลยก็ได้ (ถ้า AI แปลงมาแล้วยังมี error เราเก็บให้จบ)

07ขั้นตอน deploy บน DirectAdmin (ภาพรวม)

  1. เตรียมไฟล์ให้พร้อม (build frontend, export ฐานข้อมูล)
  2. สร้าง database + user ใน DirectAdmin
  3. อัปโหลดไฟล์ (File Manager / FTP / git)
  4. import ฐานข้อมูลผ่าน phpMyAdmin
  5. ตั้งค่า .env — DB host = localhost พร้อม user/รหัสที่สร้างไว้
  6. ผูกโดเมน + เปิด SSL (Let's Encrypt)
  7. ตั้ง cron สำหรับงานเบื้องหลัง (แทน worker)
  8. ทดสอบ และดู error log ถ้ามีปัญหา
ตัวอย่าง: ตั้ง cron แทน worker (รันทุก 1 นาที)
# DirectAdmin > Cron Jobs
* * * * * php /home/user/domains/yourapp.com/artisan schedule:run

# หรือเรียกสคริปต์ตรง ๆ
*/5 * * * * php /home/user/.../check_orders.php
ตัวอย่าง: .env สำหรับ DB บน host
DB_HOST=localhost
DB_DATABASE=user_appdb
DB_USERNAME=user_app
DB_PASSWORD=********

08Error ที่เจอบ่อยจากโค้ด AI + วิธีแก้

อาการสาเหตุ + วิธีแก้
หน้าเว็บขาว / 500เปิด error log ก่อน มักเป็น permission ไฟล์, .env ไม่ครบ หรือ DB ต่อไม่ได้
DB connection refusedhost ต้องเป็น localhost + user/รหัสของ host (ไม่ใช่ค่าตอนรันในเครื่อง)
hardcode localhost:portเปลี่ยนเป็น path แบบ relative หรืออ่านจาก env
SQLite ใช้ไม่ได้/หายย้ายเป็น MySQL (import + ปรับ query ที่ต่างกัน)
debug เปิดค้างปิด debug mode — ไม่งั้นเสี่ยงข้อมูลหลุด (security)
worker/บอทไม่รันshared host รัน process ค้างไม่ได้ ทำเป็น cron แทน

09เมื่อไหร่ควรใช้ VPS แทน

แปลงเข้า shared host คุ้มสำหรับงานส่วนใหญ่ แต่บางงานควรขยับไป VPS ตั้งแต่แรก:

ถ้าไม่เข้าข้อพวกนี้ — เริ่มที่ shared host ก่อน ประหยัดกว่าเยอะ แล้วค่อยย้ายทีหลังถ้าโตจริง

ไม่อยากแปลง/deploy เอง?

ส่งโค้ดที่ AI เขียนมา ThaiDeploy แปลงให้เข้ากับ host + เอาขึ้นให้รันจริง + ผูกโดเมน + SSL ให้ครบ คุณไม่ต้องแตะ command line เลย

เริ่ม deploy (ปรึกษาฟรี)

คำถามที่พบบ่อย

AI เขียนเว็บแอป Python/Node มา เอาขึ้น shared hosting ได้เลยไหม?
ไม่ได้ตรง ๆ เพราะ shared hosting รัน process ค้างตลอดไม่ได้ ต้องแปลง logic เป็น PHP/Laravel + MySQL + cron ก่อน แล้วจึงรันได้จริง (ฟังก์ชันเหมือนเดิม)
ฐานข้อมูล SQLite หรือ PostgreSQL ใช้บน shared hosting ได้ไหม?
ปกติ shared hosting ให้แค่ MySQL/MariaDB จึงต้องแปลง schema และ import ข้อมูลจาก SQLite/Postgres/Mongo เข้า MySQL — ข้อมูลไม่หาย แค่ย้ายบ้าน
งานที่ต้องรันเบื้องหลังตลอด (บอท/เช็คทุกวินาที) ทำยังไง?
shared host รัน process ค้างไม่ได้ แปลงเป็น cron job (รันทุก 1/5/10 นาที) แทน ครอบคลุมงาน sync/แจ้งเตือน/สรุปได้เกือบหมด ถ้าต้อง real-time จริงค่อยใช้ VPS
เมื่อไหร่ควรใช้ VPS แทน?
เมื่อต้องการ real-time/websocket ที่ polling ไม่พอ, รันโมเดล AI หนักในเครื่อง, มี process ที่ต้องรันค้างจริง หรือ traffic สูงมาก