ลด 50% ทุกแพ็กเกจ เวลาจำกัด เริ่มต้นที่ $2.48/mo
FastAPI

FastAPI

FastAPI คือเว็บเฟรมเวิร์ก Python สมัยใหม่ที่ทำงานแบบ async-first รองรับ type hint และสร้างเอกสาร OpenAPI กับ Swagger โดยอัตโนมัติ ใช้งานจริงที่ Microsoft, Uber และ Netflix เร็วกว่า Flask ถึง 3-5 เท่า และเป็นเฟรมเวิร์ก Python ค่าเริ่มต้นสำหรับ REST และ GraphQL API ตั้งแต่ปี 2019

เวอร์ชัน

ล่าสุด

ระบบปฏิบัติการ

Ubuntu Server 24.04 LTS

ขั้นต่ำของ RAM

1 GB

ประเภท IP

IPV4,IPV6

1. เชื่อมต่อกับเซิร์ฟเวอร์

ใช้ SSH เพื่อเชื่อมต่อกับเซิร์ฟเวอร์:

ssh root@<server-ip>

2. ดูข้อมูลเข้าสู่ระบบ

มีการสร้างผู้ใช้ชื่อ fastapi โดยเฉพาะสำหรับจัดการแอปพลิเคชันของคุณ

คุณสามารถดูข้อมูลเข้าสู่ระบบได้ในไฟล์นี้: /root/.fastapi-creds

หากต้องการดู ให้รันคำสั่ง:

cat /root/.fastapi-creds

หากต้องการเปลี่ยนรหัสผ่าน ให้ใช้:

passwd fastapi

3. สลับไปยัง App User

สลับไปยังบัญชีผู้ใช้ fastapi เพื่อจัดการแอปของคุณ:

su - flask

บัญชีนี้จัดเก็บโปรเจกต์ FastAPI และ environment ของคุณไว้

4. โครงสร้างของโครงการ

โครงสร้างไดเรกทอรีเริ่มต้น:

/home/fastapi/fastapi_app/
├── main.py          → Your main FastAPI application file
├── venv/            → Virtual environment
└── __pycache__/     → Compiled Python files (auto-generated)

5. จัดการแอปพลิเคชัน

ไปยังไดเรกทอรีของแอปพลิเคชัน:

cd ~/fastapi_app

เปิดใช้งาน virtual environment:

source venv/bin/activate

แก้ไขไฟล์หลักของแอป:

nano main.py

รีสตาร์ทเซอร์วิส FastAPI เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart uvicorn-fastapi

6. การดูบันทึก

ตรวจสอบ log ของ Uvicorn และ Nginx ได้ดังนี้:

  • บันทึก Uvicorn: /var/log/uvicorn/
  • Nginx บันทึกข้อผิดพลาด: /var/log/nginx/error.log
  • บันทึกการเข้าถึง Nginx: /var/log/nginx/access.log

เพื่อดูพวกเขา:

sudo tail -f /var/log/uvicorn/*

7. เข้าถึง API ของคุณ

เมื่อเซอร์วิสทำงานแล้ว แอป FastAPI จะพร้อมใช้งานในเบราว์เซอร์ที่: http://<server-ip>

Nginx จะส่งต่อคำขอ HTTP ไปยัง Uvicorn socket ที่รันแอป FastAPI ของคุณโดยอัตโนมัติ

8. เปลี่ยน Domain หรือ Port

หากต้องการอัปเดต server name, port หรือ domain:

  1. แก้ไขไฟล์ config ของ Nginx site: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. ทดสอบการตั้งค่า sudo nginx -t
  3. รีโหลด Nginx: sudo systemctl restart nginx

9. บริการ Uvicorn

แอป FastAPI ทำงานผ่านเซอร์วิส systemd ที่ชื่อว่า uvicorn-fastapi

ใช้ /home/fastapi/fastapi_app/main:app เป็น entry point ของแอปพลิเคชัน และรีสตาร์ทอัตโนมัติเมื่อเกิดข้อผิดพลาด

จัดการเซอร์วิส:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

แก้ไขเซอร์วิส:

sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi

10. เปิดใช้งาน HTTPS (ไม่บังคับ)

ใช้ Certbot เพื่อเปิดใช้งาน HTTPS

เพิ่มเติมใน Development Tools

แอปพลิเคชันที่เกี่ยวข้อง

ติดตั้ง FastAPI เลยตอนนี้ เริ่มต้นที่ $2.48/เดือน