카테고리 없음

FastAPI 로컬 서버 구축부터 외부 접속(Ngrok), GitHub에 업로드하기까지

원 툴 2024. 12. 13. 06:23

개요:
이 글에서는 Python FastAPI로 간단한 API 서버를 로컬에서 실행하고, ngrok를 통해 외부에서 접속 가능한 URL을 생성한 뒤, GitHub에 코드를 버전 관리 및 업로드하는 전 과정을 정리합니다.

 

 환경 :

윈도우

 

 

목차:

  1. 개발 환경 준비
  2. FastAPI 프로젝트 생성
  3. 로컬 서버 실행
  4. ngrok를 이용한 외부 접속
  5. Git으로 버전 관리 시작
  6. GitHub에 코드 업로드
  7. 문제 해결 팁 및 참고 자료

1. 개발 환경 준비

  • Python 설치: Python.org에서 Python 3.x 버전 설치
  • VS Code 설치: VS Code 다운로드 및 설치
  • FastAPI & uvicorn 설치:
    bash
    코드 복사
    pip install fastapi uvicorn[standard]
     
     

 

2. FastAPI 프로젝트 생성

  • 프로젝트 폴더 생성 및 이동:
    bash
    코드 복사
    mkdir DevProfileAPI
    cd DevProfileAPI
     
  • main.py 파일 생성:
    python
    코드 복사
from fastapi import FastAPI
import random

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Welcome to DevProfileAPI"}

@app.get("/profile")
def get_profile():
    profile_data = {
        "name": "YourName",
        "title": "Backend Developer",
        "skills": ["Python", "FastAPI", "AWS", "Docker", "CI/CD"],
        "experience": {"years": 3, "notable_projects": ["Project A", "Project B"]},
        "contact": {"email": "yourname@example.com", "linkedin": "https://www.linkedin.com/in/yourname"}
    }
    return profile_data

@app.get("/random_tip")
def random_tip():
    tips = [
        "Write tests for reliability.",
        "Use version control (Git) for all projects.",
        "Document your code.",
        "Keep functions small and focused.",
        "Learn about cloud deployments."
    ]
    return {"tip": random.choice(tips)}

 

 

3. 로컬 서버 실행

bash
코드 복사
uvicorn main:app --reload
  • 브라우저에서 http://127.0.0.1:8000 접속해 Welcome to DevProfileAPI 메시지 확인

 

4. ngrok를 이용한 외부 접속

  • ngrok에서 Windows용 ngrok 다운로드
  • ngrok.exe 파일을 프로젝트 폴더에 위치
  • 인증 토큰 설정:
    bash
    코드 복사
    ngrok config add-authtoken <YOUR_AUTH_TOKEN>
  • 서버를 실행한 상태에서:
    bash
    코드 복사
    ngrok http 8000
  • 표시되는 Forwarding URL을 복사해 휴대폰이나 다른 PC에서 접속 가능

5. Git으로 버전 관리 시작

  • Git 초기화:
    bash
    코드 복사
    git init
  • 변경사항 스테이징 후 커밋:
    bash
    코드 복사
git add . git commit -m "Initial commit"

 

 

6. GitHub에 코드 업로드

  • GitHub에 로그인 후 New Repository 생성 (my-first-project라 가정)
  • 원격 저장소 등록:
    bash
    코드 복사
     
  • GitHub에서 코드를 확인할 수 있음
git remote add origin https://github.com/yourRepositories/my-first-project.git
git branch -M main
git push -u origin main

 

 

7. 문제 해결 팁

  • "Repository not found" 에러 → GitHub 상에 해당 이름으로 리포지토리를 실제 생성했는지 확인
  • 브랜치 명 문제 → git branch -M main 명령으로 로컬 브랜치를 main으로 변경
  • 인증 문제 → GitHub Personal Access Token 이용 또는 GitHub Desktop 사용

결론:
이 과정을 통해 FastAPI로 만든 간단한 API 서버를 로컬에서 실행한 뒤, ngrok를 사용해 외부 접근이 가능하게 만들었으며, Git과 GitHub를 활용해 코드를 버전 관리하고 공유하는 방법을 습득했습니다. 앞으로 이 프로젝트를 확장하고 Docker화, CI/CD 구축, 클라우드 배포 등을 진행하면서 더 탄탄한 포트폴리오를 만들어나갈 수 있습니다.