티스토리 뷰
클라우드타입은 GitHub 에 작성한 코드를 클라우드 서버에 간편하게 띄울 수 있는 PaaS 클라우드 호스팅 서비스입니다.
많이들 사용하는 언어, 플랫폼, 데이터베이스 등을 올릴 수 있습니다.
저는 FastApi와 MariaDB를 사용할 예정입니다.
한글로 문서정리도 깔끔하게 잘 되어있어서 처음 사용하는 사람도 쉽게 사용 할 수 있습니다.
위의 자료를 참고 하였는데도 모르는 경우에는 디스코드를 이용하여 질문도 할 수 있다고 합니다.
가장 중요한 요금 관련입니다.
큰 서비스가 아니라면 무료로 이용하기에는 문제가 없을 것 같습니다.
회원가입과 깃허브 연동 관련해서는 크게 어려운 점이 없으므로 생략합니다.
회원 가입이 완료 되었다면 새 프로젝트를 생성합니다.
프로젝트 생성 후 원하는 서비스를 선택하여 주면 되는데
저의 경우 FastApi와 MariaDB를 사용할 것이기 때문에 참고 링크를 남깁니다.
순서대로 따라하기만 해도 쉽게 할 수 있게 되어있습니다.
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관련 글은 이전에 올린적이 있으므로 링크로 대체합니다.
패스워드 정보등이 있어서 이걸 환경 변수 설정으로 해보려고는 하는데
아직 해결이 안돼서 이 부분 관련해서는 해결되면 수정하도록 하겠습니다.
이상태로 배포를 하게 되면 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 BottomSheet
- Android Compose
- column
- 안드로이드
- Worker
- Compose BottomSheetScaffold
- compose
- Compose MotionLayout
- WebView
- Compose ConstraintLayout
- Duplicate class found error
- Fast api
- Compose Naver Map
- WorkManager
- LazyColumn
- Kotlin
- Pokedex
- Compose QRCode Scanner
- Row
- 포켓몬 도감
- Gradient
- Compose 네이버 지도
- Compose BottomSheetDialog
- Compose ModalBottomSheetLayout
- Duplicate class fond 에러
- 웹뷰
- Compose 네이버 지도 api
- Retrofit
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |