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:
- Chỉnh sửa cấu hình trang web Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Cấu hình thử nghiệm:
sudo nginx -t - 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.