티스토리 뷰

클라우드타입은 GitHub 에 작성한 코드를 클라우드 서버에 간편하게 띄울 수 있는 PaaS 클라우드 호스팅 서비스입니다.
많이들 사용하는 언어, 플랫폼, 데이터베이스 등을 올릴 수 있습니다.
저는 FastApi와 MariaDB를 사용할 예정입니다.
한글로 문서정리도 깔끔하게 잘 되어있어서 처음 사용하는 사람도 쉽게 사용 할 수 있습니다.
클라우드타입 이용가이드
클라우드타입을 처음 사용하시나요? 아래의 가이드를 따라 클라우드타입을 사용하세요! 그럼 시작해볼까요? 😃
help.cloudtype.io
cloudtype
클라우드타입은 GitHub 에 작성한 코드를 클라우드 서버에 간편하게 띄울 수 있는 PaaS 클라우드 호스팅 서비스입니다.
www.youtube.com
위의 자료를 참고 하였는데도 모르는 경우에는 디스코드를 이용하여 질문도 할 수 있다고 합니다.
Discord - A New Way to Chat with Friends & Communities
Discord is the easiest way to communicate over voice, video, and text. Chat, hang out, and stay close with your friends and communities.
discord.com
가장 중요한 요금 관련입니다.

큰 서비스가 아니라면 무료로 이용하기에는 문제가 없을 것 같습니다.
회원가입과 깃허브 연동 관련해서는 크게 어려운 점이 없으므로 생략합니다.

회원 가입이 완료 되었다면 새 프로젝트를 생성합니다.
프로젝트 생성 후 원하는 서비스를 선택하여 주면 되는데
저의 경우 FastApi와 MariaDB를 사용할 것이기 때문에 참고 링크를 남깁니다.
순서대로 따라하기만 해도 쉽게 할 수 있게 되어있습니다.
MariaDB
클라우드타입에서 MariaDB를 배포하고, 관리 툴을 사용하여 TCP 방식으로 접속하는 가이드입니다. 🧑🏻💻 본 가이드에서는 관리 툴로 MySQL Workbench를 사용했으며, 아래의 링크에서 다운로드
help.cloudtype.io
Python FastAPI 시작하기
클라우드타입에서 Python FastAPI 애플리케이션을 배포하는 방법입니다. 🧑🏻💻 아래의 가이드에 따라 템플릿을 통해 서비스를 배포해보세요. 시간은 3-5 분 가량 소요됩니다. 😺
help.cloudtype.io
FastApi의 경우 이미 프로젝트를 만든 것이 아니라면 자동으로 만들어주는 저장소 만들기를 이용하는 것을 추천합니다.
이제 클라우드 서버에 있는 MariaDB와 FastApi를 연결해보겠습니다.

우선 도메인을 알아야합니다. 아래 tcp/udp로 되어있는 곳의 주소들을 기록해둡니다.
로컬에서 테스트 할 때에는 svc.sel3.cloudtype.app:30341를 이용하고
서버에 배포할 때에는 mariadb:3306을 이용하게 됩니다.
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
user_name = "user_name"
user_pwd = "user_pwd"
db_host = "mariadb:3306"
db_name = "pokemonDB"
DATABASE = f"mysql+pymysql://{user_name}:{user_pwd}@{db_host}/{db_name}?charset=utf8"
ENGINE = create_engine(
DATABASE,
encoding="utf-8",
echo=True
)
session = scoped_session(
sessionmaker(
autocommit=False,
autoflush=True,
bind=ENGINE
)
)
Base = declarative_base()
Base.query = session.query_property()
db_host 외에는 MariaDB생성 시 만든 값을 넣어주면 됩니다.
FastApi관련 글은 이전에 올린적이 있으므로 링크로 대체합니다.
포켓몬 도감 만들기(1) : Fast Api
Fast Api 설치 pip install fastapi 터미널에 위의 명령어를 입력하면 설치가 됩니다. 추가로 Python이 없을 경우 따로 설치해야 합니다. pip install "uvicorn[standrad]" 서버 작동을 위해서 uvicorn도 설치를 합니
alanboyce.tistory.com
패스워드 정보등이 있어서 이걸 환경 변수 설정으로 해보려고는 하는데
아직 해결이 안돼서 이 부분 관련해서는 해결되면 수정하도록 하겠습니다.
이상태로 배포를 하게 되면 sqlalchemy를 찾지 못한다는 오류가 발생하게 됩니다.
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
fastapi = {extras = ["all"], version = "*"}
sqlalchemy = "*"
pymysql = "*"
[dev-packages]
[requires]
python_version = "3.10"
Pipfile에 들어가서 packages안에
sqlalchemy = "*"
pymysql = "*"
위의 내용을 추가해주세요.
$ pip install pipenv
그 다음 터밀널로 들어가서 pipenv를 설치해 줍니다
그 후 프로젝트가 있는 경로로 이동 후
$ pipenv lock
위의 내용을 입력해주세요.
그러면 Pipfile.lock의 내용이 업데이트 되었을 것입니다.
마지막으로 requirements.txt 파일안에
sqlalchemy==1.4.22
pymysql==1.0.2
이 내용을 추가해 준 뒤 배포를 하게 되면 오류가 사라집니다.
'안드로이드' 카테고리의 다른 글
Android Duplicate class found 오류 해결 (2) | 2022.10.28 |
---|---|
Compose 기초 1 : Column, Row, Box (0) | 2022.06.29 |
WorkManger 사용해보기 2 (0) | 2022.06.07 |
WorkManager 사용해보기 1 (0) | 2022.06.05 |
- Total
- Today
- Yesterday
- Compose 네이버 지도
- LazyColumn
- Android
- Retrofit
- Compose QRCode Scanner
- Worker
- Compose BottomSheetScaffold
- Gradient
- Compose BottomSheetDialog
- Kotlin
- WorkManager
- Compose 네이버 지도 api
- Duplicate class fond 에러
- Compose BottomSheet
- 안드로이드
- Compose ModalBottomSheetLayout
- WebView
- Compose ConstraintLayout
- Compose Naver Map
- Row
- column
- 안드로이드 구글 지도
- Pokedex
- 포켓몬 도감
- Duplicate class found error
- Fast api
- compose
- Android Compose
- 웹뷰
- Compose MotionLayout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |