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 요청을 FastAPI 앱이 실행 중인 Uvicorn 소켓으로 자동 전달합니다.
8. 도메인 또는 포트 변경
서버 이름, 포트, 또는 도메인을 업데이트하려면:
- Nginx 사이트 설정 파일 편집:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - 테스트 설정:
sudo nginx -t - Nginx 다시 로드:
sudo systemctl restart nginx
9. Uvicorn 서비스
FastAPI 앱은 uvicorn-fastapi라는 이름의 systemd 서비스로 실행됩니다.
사용합니다 /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를 활성화하세요.