คู่มือการใช้งาน เมนู Setup Python App - (DirectAdmin User Level)
สร้างและดูแล Python Application พร้อมตั้ง Version, Virtualenv, URL, WSGI Entry Point, Environment Variables และ Dependencies
Setup Python App ใช้ทำอะไร และเข้าเมนูตรงไหน
เมนู Setup Python App ใช้สร้าง Virtual Environment และนำ Python Application ขึ้น Premium Hosting คุณสามารถเลือกเวอร์ชัน กำหนด Root, URL, Startup File และ WSGI Entry Point เพิ่ม Environment Variables ติดตั้ง Package และ Restart แอปได้จากหน้านี้

สำหรับลูกค้า Premium Hosting ให้เข้าจากหน้า Dashboard แล้วดูที่กลุ่ม Extra Features จากนั้นกดเมนู Setup Python App
เมนูนี้เหมาะกับงานเหล่านี้:
- สร้าง Python web application - เช่น Flask, Django หรือ WSGI app ที่รองรับการรันผ่าน passenger/selector ของโฮสติ้ง
- แยก virtual environment ต่อแอป - ให้ package ของแต่ละแอปไม่ปนกันและเลือก Python version ให้ตรงกับโปรเจกต์
- ตั้งค่า runtime ของแอป - กำหนด startup file, entry point, environment variables และ configuration file สำหรับติดตั้ง dependency
- ควบคุม process จาก DirectAdmin - stop, start, restart หรือเปิด URL ของแอปเพื่อทดสอบหลัง deploy
ทำความรู้จักรายการ Application และสถานะการทำงาน
หน้าหลักของเมนูนี้คือแท็บ Web applications ใช้ดูรายการ Python application ทั้งหมดที่สร้างไว้ในบัญชีถ้ายังไม่มีแอป DirectAdmin จะแสดงข้อความ No Applications found ใต้แท็บนี้ แต่เมื่อมีแอปแล้วจะแสดงตารางพร้อมคอลัมน์และคำสั่งประจำแถว

| คอลัมน์ | ความหมาย | ควรตรวจอย่างไร |
|---|---|---|
| App URI | URL path ของแอป เช่น phalconhost2.com/python-guide-demo และเป็นลิงก์ เข้า detail ของแอป | ต้องตรงกับโดเมนและ path ที่ต้องการจัดการ อย่ากดคำสั่งจากแถวที่ URL คล้ายกันโดยไม่อ่านให้ครบ |
| App Root Directory | path จริงบนเซิร์ฟเวอร์ เช่น /home/phalcon1/python-guide-demo | ใช้ยืนยันว่าไฟล์แอปควรอยู่ที่ path ใด และไม่ควรชี้ทับ path สำคัญของเว็บอื่น |
| Status | สถานะ process พร้อม Python version เช่น started (v3.11.15) หรือ stopped (v3.11.15) | ถ้าสถานะ เป็น stopped เว็บอาจไม่ตอบสนองตามที่คาด ต้อง start หรือ restart หลังแก้ไฟล์ตามแผน |
| Actions | ชุดไอคอน ควบคุมแอป เช่น stop/start, restart, edit และ delete | กดเฉพาะแถวที่ตรวจ App URI และ root directory แล้ว เพราะคำสั่งมีผลกับแอปจริงทันที |
สร้างแอป Python
เมื่อกด Create application DirectAdmin จะเปิดฟอร์มสร้างแอปใหม่ภายในแท็บ Create application ด้านขวาบนของฟอร์มมีปุ่ม Cancel และ Create ถ้าข้อมูลจำเป็นยังไม่ครบ ปุ่ม Create จะใช้งานไม่ได้และช่อง Application root จะแสดงคำเตือน Mandatory field

อย่าเลือกเวอร์ชันเพียงเพราะมีคำว่า recommended โดยไม่ดูโปรเจกต์จริง ถ้าแอปใช้ package รุ่นใหม่ มักต้องใช้ Python 3 รุ่นที่ framework รองรับ เช่น 3.10/3.11/3.12 แต่ถ้า package เก่ามากก็ต้องตรวจ compatibility ก่อน การเปลี่ยน version หลังใช้งานจริงอาจต้องติดตั้ง dependency ใหม่และทดสอบแอปซ้ำ
- Application root - path หลักของแอปบนเซิร์ฟเวอร์เป็นช่องกรอกจำเป็น DirectAdmin ใช้สร้าง/อ้างอิง virtual environment และตำแหน่งไฟล์ของแอป ควรตั้งชื่อโฟลเดอร์อ่านง่ายและไม่ชนกับโฟลเดอร์เว็บเดิม
- Application URL - ประกอบด้วย เมนูสำหรับเลือกโดเมน เช่น
phalconhost2.comและช่อง path ต่อท้าย เช่นpython-guide-demoถ้าปล่อย path ว่างอาจหมายถึง root ของโดเมน จึงต้องระวังมากเป็นพิเศษ - Application startup file - ไฟล์เริ่มต้นของแอป เช่น
passenger_wsgi.pyหรือไฟล์ที่ framework/โครงโปรเจกต์กำหนด ถ้าชื่อไฟล์ผิด process อาจ start ได้แต่แอปตอบ error - Create - สร้างแอปจริง เมื่อกรอกข้อมูลจำเป็นครบ ปุ่มนี้จะเปิดใช้งานและ DirectAdmin จะสร้างรายการใหม่ใน Web applications
Environment variables, Configuration files, Run Pip Install และ Run Script
ส่วน Environment variables มีตั้งแต่หน้า Create application และยังอยู่ในหน้า detail หลังสร้างแอป ใช้เพิ่มค่าที่แอปอ่านจาก environment เช่น mode, secret ที่ไม่ควร hardcode, path เฉพาะระบบ หรือค่าที่ framework ต้องใช้ แต่ไม่ควรใส่ข้อมูลลับลงไปโดยไม่รู้ว่าใครมีสิทธิ์เห็นหน้า DirectAdmin นี้

- Add variable - ปุ่มพร้อมไอคอนเครื่องหมายบวก ใช้เพิ่มแถวตัวแปรใหม่
- Name - ชื่อตัวแปร เช่น
APP_ENV,DJANGO_SETTINGS_MODULEหรือชื่อที่แอปกำหนด ต้องสะกดตรงกับ code - Value - ค่าของตัวแปร เช่น
demoหรือค่า config ที่แอปต้องอ่าน - NO RESULT FOUND - สถานะว่างเมื่อยังไม่มี environment variable ในตาราง
อย่ากด Run Pip Install หรือ Run Script บนเว็บจริงแบบลองเล่น เพราะอาจติดตั้ง dependency ใหม่, เปลี่ยน package, รัน migration, แก้ฐานข้อมูล หรือทำให้แอปหยุดตอบสนองได้ ควรตรวจไฟล์, command, backup และช่วงเวลาที่เหมาะสมก่อนทุกครั้ง
จัดการแอปหลังสร้าง
เมื่อเปิด detail ของแอปจากลิงก์ App URI หรือไอคอน edit DirectAdmin จะแสดงแท็บ เป็นชื่อแอป เช่น phalconhost2.com/python-guide-demo และด้านขวาบนมีปุ่ม Destroy, Cancel และ Save ถ้ายังไม่มีการเปลี่ยนค่า ปุ่ม Save จะใช้งานไม่ได้แต่เมื่อแก้ช่องกรอกหรือเพิ่ม configuration บางอย่าง ปุ่ม Save จะเปิดใช้งาน

คำสั่งนี้ใช้เมื่อเข้า shell/terminal เพื่อ activate virtual environment ของแอปและเข้าไปยัง application root ค่าจริงของลูกค้าแต่ละบัญชีจะต่างกันตาม username, ชื่อแอป และ Python version จึงควรคัดลอกจากหน้า DirectAdmin ของตัวเอง ไม่ควรคัดลอก path จากบทความนี้ไปใช้กับบัญชีจริง
- Stop app - หยุด process ของแอป ในหน้ารวมจะเปลี่ยนสถานะ เป็น stopped และคำสั่งเปลี่ยนเป็น Start
- Start app - แสดงในหน้ารวมเมื่อแอป stopped ใช้เริ่ม process ใหม่
- Restart - reload/restart process ของแอป เหมาะหลังเปลี่ยนไฟล์หรือ config ที่ต้องให้ process อ่านใหม่
- Cancel - ยกเลิก/ออกจากการแก้ไขหน้า detail โดยไม่บันทึกการเปลี่ยนแปลงที่ยังค้างอยู่
ใช้ Python App กับเว็บไซต์จริงอย่างปลอดภัย
การลบ Python application ทำได้จากสองจุดหลัก คือไอคอน delete ในตาราง Web applications หรือปุ่ม Destroy ในหน้า detail ของแอป เมื่อกดแล้ว DirectAdmin จะแสดงหน้าต่างยืนยัน เพื่อยืนยันก่อนลบจริง

ในตัวอย่าง เมื่อกด Agree แล้วรายการกลับไปเป็น No Applications found แปลว่า application ตัวอย่างถูกลบออกจาก Python Selector แล้ว ก่อนกด Agree บนบัญชีจริง ให้เข้าใจว่าการลบนี้เกี่ยวกับ application/virtual environment ที่ DirectAdmin จัดการ และอาจทำให้ URL ของแอปใช้งานไม่ได้ทันทีหลังลบ
- ตรวจ App URI และ domain context - ต้องตรงกับเว็บหรือ path ที่ต้องการจัดการ โดยเฉพาะบัญชีที่มีหลายโดเมน
- ตรวจ Application root - อย่าใช้ path ที่ทับไฟล์เว็บ production หรือโฟลเดอร์ของแอปอื่นโดยไม่ตั้งใจ
- รู้ startup file และ entry point จริง - Flask/Django/WSGI app แต่ละแบบตั้งไม่เหมือนกัน ถ้าชื่อ callable ผิด เว็บจะ error
- ทดสอบหลัง Stop/Start/Restart - เปิด URL ด้วยปุ่ม Open หรือเบราว์เซอร์จริง และตรวจ log/error ของแอปถ้ามีอาการผิดปกติ
หากตั้งค่าแล้วแอป Python ยังไม่ทำงาน หรือไม่แน่ใจว่าควรกำหนดค่าอย่างไร สามารถติดต่อทีมงาน PhalconHost ได้เลยครับ ทีมงานยินดีเข้าไปช่วยตรวจสอบและตั้งค่าให้แอปทำงานได้อย่างถูกต้อง
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost