1. เชื่อมต่อกับเซิร์ฟเวอร์ของคุณ
ใช้ SSH เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของคุณ:
ssh root@<server-ip>
2. ป้อนข้อมูลประจำตัวสำหรับการเข้าสู่ระบบ
ได้มีการสร้างผู้ใช้เฉพาะชื่อ fastapi เพื่อจัดการแอปพลิเคชันของคุณ
คุณสามารถค้นหาข้อมูลการเข้าสู่ระบบได้ในไฟล์นี้: /root/.fastapi-creds
หากต้องการดู ให้เรียกใช้คำสั่ง:
cat /root/.fastapi-creds
หากต้องการเปลี่ยนรหัสผ่าน โปรดใช้:
passwd fastapi
3. เปลี่ยนไปใช้บัญชีผู้ใช้แอป
เปลี่ยนไปใช้บัญชีผู้ใช้ fastapi เพื่อจัดการแอปของคุณ:
su - flask
บัญชีนี้มีโปรเจ็กต์ FastAPI และสภาพแวดล้อมของคุณอยู่
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
เปิดใช้งานสภาพแวดล้อมเสมือนจริง:
source venv/bin/activate
แก้ไขไฟล์แอปพลิเคชันหลัก:
nano main.py
โปรดรีสตาร์ทบริการ FastAPI เพื่อให้การเปลี่ยนแปลงมีผล:
sudo systemctl restart uvicorn-fastapi
6. การดูบันทึก
คุณสามารถตรวจสอบบันทึกการทำงานของ 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 ที่รันแอป FastAPI ของคุณโดยอัตโนมัติ
8. การเปลี่ยนโดเมนหรือพอร์ต
หากคุณต้องการอัปเดตชื่อเซิร์ฟเวอร์ พอร์ต หรือโดเมน:
- แก้ไขการตั้งค่าเว็บไซต์ Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - การตั้งค่าการทดสอบ:
sudo nginx -t - รีโหลด Nginx:
sudo systemctl restart nginx
9. บริการยูวิคอร์น
แอป FastAPI ทำงานผ่านบริการ systemd ที่ชื่อว่า uvicorn-fastapi
มันใช้ /home/fastapi/fastapi_app/main:app ทำหน้าที่เป็นจุดเริ่มต้นของแอปพลิเคชัน และจะเริ่มต้นใหม่โดยอัตโนมัติเมื่อเกิดข้อผิดพลาด
วิธีจัดการบริการ:
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