FastAPI

Một framework web Python hiện đại, hiệu năng cao để xây dựng API với gợi ý kiểu dữ liệu.

1. Kết nối với máy chủ của bạn

Sử dụng SSH để kết nối với máy chủ của bạn:

ssh root@<server-ip>

2. Thông tin đăng nhập

Một người dùng chuyên dụng có tên fastapi đã được tạo để quản lý ứng dụng của bạn.

Bạn có thể tìm thấy thông tin đăng nhập trong tệp này: /root/.fastapi-creds

Để xem chúng, hãy chạy lệnh sau:

cat /root/.fastapi-creds

Nếu bạn muốn thay đổi mật khẩu, hãy sử dụng:

passwd fastapi

3. Chuyển sang Người dùng ứng dụng

Hãy chuyển sang tài khoản người dùng fastapi để quản lý ứng dụng của bạn:

su - flask

Tài khoản này chứa dự án và môi trường FastAPI của bạn.

4. Cấu trúc dự án

Đây là cấu trúc thư mục mặc định:

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

5. Quản lý ứng dụng của bạn

Điều hướng đến thư mục ứng dụng:

cd ~/fastapi_app

Kích hoạt môi trường ảo:

source venv/bin/activate

Chỉnh sửa tệp ứng dụng chính:

nano main.py

Khởi động lại dịch vụ FastAPI để áp dụng các thay đổi:

sudo systemctl restart uvicorn-fastapi

6. Xem nhật ký

Bạn có thể kiểm tra nhật ký của Uvicorn và Nginx như sau:

  • Nhật ký Uvicorn: /var/log/uvicorn/
  • Nhật ký lỗi Nginx: /var/log/nginx/error.log
  • Nhật ký truy cập Nginx: /var/log/nginx/access.log

Để xem chúng:

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

7. Truy cập API của bạn

Sau khi dịch vụ hoạt động, ứng dụng FastAPI của bạn sẽ có sẵn trên trình duyệt tại địa chỉ: http://<server-ip>

Nginx tự động chuyển tiếp các yêu cầu HTTP đến socket Uvicorn đang chạy ứng dụng FastAPI của bạn.

8. Thay đổi tên miền hoặc cổng

Nếu bạn muốn cập nhật tên máy chủ, cổng hoặc tên miền:

  1. Chỉnh sửa cấu hình trang web Nginx: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. Cấu hình thử nghiệm: sudo nginx -t
  3. Khởi động lại Nginx: sudo systemctl restart nginx

9. Dịch vụ Uvicorn

Ứng dụng FastAPI chạy thông qua một dịch vụ systemd có tên là uvicorn-fastapi.

Nó sử dụng /home/fastapi/fastapi_app/main:app Ứng dụng này đóng vai trò là điểm khởi đầu và tự động khởi động lại khi gặp lỗi.

Để quản lý dịch vụ:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

Để chỉnh sửa dịch vụ:

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

10. Bật HTTPS (Tùy chọn)

Hãy sử dụng Certbot để bật HTTPS.

Thông tin ứng dụng