본문 바로가기

공학

대학 식단 앱 개발-2

서론

백앤드 서버를 구축해보자. fastapi를 이용해서 python코드를 구성해준다. 그리고 uvicorn을 이용해서 코드가 잘 돌아가는지 localhost에서 확인해준다. 

https://cosmosproject.tistory.com/756

 

Python API : Python으로 API 만들기 (FastAPI, Flask)

Python으로 API(Application Programming Interface)를 만드는 방법을 알아봅시다. 여러 방법이 있지만 본 글에서는 크게 FastAPI 또는 Flask를 이용하는 방법 두 가지를 알아볼겁니다. 일단 본격적으로 API를 구

cosmosproject.tistory.com

 

대체로 이용할 수 있는 호스팅 서비스

https://render.com/pricing 

https://firebase.google.com/pricing   

https://www.netlify.com/pricing/  

https://supabase.com/pricing

https://www.pythonanywhere.com/pricing/

https://www.oracle.com/kr/cloud/free/  

https://www.vultr.com/?ref=9488590  

https://coconuts.tistory.com/1460

https://www.heroku.com/

나중에 실제 서비스를 해야하면 vultr를 이용하는 게 좋아보인다.

Render

https://myit.tistory.com/140

아직 실제 서비스를 할 것이 아니기 때문에 Render를 지금 당장 이용할 필요는 없지만, 실제로 가능한 건지 확인해 보고 싶어서 회원가입을 해서 작동을 해본다. 

 

어떤 type을 호스팅하고 싶은지 선택을 해야 한다. api server를 구성할 것이기 때문에 Web Services를 설정해준다.

이렇게 github에 코드를 올려서 진행하면 된다. 이어서 언어, branch, region, build Command와 Start Command를 설명하라고 하는데, 하마터면 이것들을 생각 못 할 뻔 했다. 여기서 build Command에서 python에서 사용할 모듈을 install하기 위함이고, Start Command는 실제로 서버를 시작하기 위해 사용해야할 명령어를 써줘야 한다.

gunicorn -k uvicorn.workers.UvicornWorker app:app --bind 0.0.0.0:$PORT

의 코드를 이용해 줬다.

적절하게 다 설정했다고 생각했는데, 뭐 때문에 오류인지도 안 알려주고, 그냥 오류가 발생했다고만 한다.()

그냥 처음부터 설정해야 할 것만 하고 아무것도 안 건들이니깐 잘 작동이 되었다.

 

모니터링

render가 무료 버전이라서 지속적으로 api를 제공하는 것이 아니면 서버가 꺼지게 된다. 이를 모니터링으로 해결할려고 한다. 실제로 서버가 잘 돌아가는 지 확인도 하고 싶다.

그래서 https://uptimerobot.com를 이용할려고 했는데 https에 접근하는 방식이 HEAD만 무료로 풀려있었다. 그래서 405오류가 생긴다. 서버는 존재하는데 통신을 할 수 없다는 오류 코드로 보인다. Get이나 Post방식으로 해야 405에러가 안 나오는데 이를 해결할려면 유료결제를 해야한다. 그래서 https://pulsetic.com/ 를 이용했다. Get도 무료로 선택을 할 수 있다. 그리고 이런 모니터링 사이트의 장점이 갑자기 서버가 꺼지면 메일로 알려준다. 이를 통해서 서버가 꺼지지도 않고, 꺼지더라도 바로 확인할 수 있다.

최종 결과

https://ryugang.tistory.com/3 에서 나온 방법처럼 apk를 추출하면 된다.

 

UI작동도 잘 되고, 서버에서 api도 잘 받아오는 거 같다. 이렇게 아주 빠르게 앱을 만들어 결과물를 보니깐 매우 뿌듯하다. 앞으로는 UI를 더 예쁘게 만들고, 데이터베이스도 구축하고, 실제 베포를 할 거 같다. API server를 구축을 해봤는데 이렇게 해보니깐 DB도 구축을 해보고 싶다는 생각이 든다.

'공학' 카테고리의 다른 글

대학 식단 앱 개발-4  (0) 2026.01.10
대학 식단 앱 개발-3  (0) 2026.01.06
대학 식단 앱 개발-1  (0) 2025.12.20
홀로그래피 오류 정정  (0) 2023.11.26