티스토리 뷰

728x90

 

파이썬 웹 프레임워크를 무료로 외부로 서비스(배포) 하기 위해 여러 가지 방법이 있습니다. 클라우드를 사용하는 게 대표적입니다. AWS, GCP, Azure 등 많은 클라우드 서비스가 많게는 1년 적게는 한 달 정도는 무료로 사용이 가능합니다.

하지만 우리는 python을 사용 하기에 python 을 무료로 배포할 수 있는 사이트가 있습니다. 바로 파이썬 애니웨어(https://www.pythonanywhere.com/)가 되겠습니다.

먼저 가입을 하고 로그인 후 사용법을 알아보도록 하겠습니다.

https://www.pythonanywhere.com/ 링크로 가면 아래와 같이 뜹니다.

영어로 되어 있어 불편할 수 있지만 한번 해보죠.

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

signup으로 가서 회원가입을 합니다. pricing이라고 되어 있지만 제한적으로 무료로 사용 가능합니다. 

Education accounts라고 학생은 무료로 가능하게 되어 있는 거 같은데 아직 베타 서비스를 하나 봅니다. 우리는 그냥 비기너 어카운트 버튼을 눌러 가입을 합니다.

가입 후 로그인을 해보죠.

로그인 후 이메일 인증하면 됩니다.

아래는 대시보드 화면입니다.

 

콘솔 화면도 제공하고 파일도 업로드할 수 있고 웹 서비스 배포도 할 수 있고 주피터 노트북도 제공하네요.

그리고 데이터베이스까지 제공하고 있습니다. 많은 서비스를 무료로 사용할 수 있다니 좋네요.

우리는 일단 데이터베이스를 사용해보도록 하겠습니다. 위 메뉴에서 Databases를 눌러봅니다.

MySQL을 사용할 수 있네요. Postgres도 사용할 수 있지만 우리는 MySQL를 사용합니다. DB 패스워드를 쓰라고 하네요.

잊어버리지 않게 잘 기억해 둡니다. 패스워드를 생성하고 나니 MySQL 세팅을 할 수 있는 페이지가 나오네요.

db명은 아래에 Your databases에 나와 있습니다. 계정명$default 이름으로 기본 DB가 생성이 되어 있습니다. default DB 말고 우리가 지정한 이름으로 하나를 만들어 보겠습니다.

아래에 보면 Create a database 가 보이네요. 여기서 데이터 베이스를 만들 수 있겠네요.

아래 내용을 보면 db명은 pythonanywhere의 계정명 + $ 라고 표시가 된다고 합니다. 위에서 default 이름으로 되어 있는 DB명처럼 나온다는 얘기 겠죠. 아래에 데이터베이스명에 그냥 우리가 원하는 이름을 적어 주면 알아서 계정명$DB명 이런 식으로 나온다는 얘기입니다. 저는 mydb라는 이름으로 만들게요. 그러면 계정명$mydb라는 이름으로 생성이 되겠네요. 위 까지 하면 pythonanywhere에서준비는 다 되었습니다.

host adress, username, password, db명

이 정보만 있으면 우리는 pythonanywhere에서 우리 프로젝트와 데이터베이스를 연결해 데이터를 저장하고 불러올 수 있습니다.

pythonanywhere 에서 mysql db에 접속해서 명령을 직접 실행을 할 수 있는 콘솔(터미널)을 제공합니다.

Your databases 부분에 생성된 데이터베이스 이름은 링크로 되어 있는 것을 볼 수 있는데 Start a console on이라고 적혀 있습니다. 우리가 만든 DB명을 클릭을 하면 mysql 콘솔로 접속이 됩니다. 

우리 DB명으로 접속을 했기 때문에 use db명; 명령은 하지 않아도 됩니다. 테이블 목록을 출력해 봅시다.

show tables; 

테이블이 없네요. 여기서 우리가 배운 쿼리로 테이블을 생성하고 데이터를 넣고 해도 되지만 우리는 파이썬에서 만들어 놓은 예제가 있습니다. 이제 그 예제로 테이블을 생성하고 데이터를 넣고 검색까지 진행해보도록 하겠습니다.

그전에  pythonanywhere DB의 경우  Mysql이고 우리는 sqlite를 사용했습니다. 둘은 다르기 때문에 Python에서 Mysql은 어떻게 사용하는지 알아야 합니다. 쿼리는 거의 비슷해서 우리가 사용한 쿼리를 그대로 사용해도 되지만 모듈(패키지)도 다르고 접속 방법도 다르기 때문에 한번 알아봅시다.

import sqlite3는 기본 패키지에 포함이 되어 있었죠.  Mysql의 경우 외부 모듈이기 때문에 따로 설치(pip) 과정이 필요하겠죠. 그리고 sqlite는 파일에 접속하는 방식이고 Mysql은 서버 시스템이기 때문에 접속을 해야 합니다.

 

위에서 언급한 host adress, username, password, db명 이정보들이 필요합니다.

 

Python에서 Mysql과 연동하는 것을 알아보았습니다.

이제 우리 파이썬 프로젝트와 pythonanywhere DB를 연결을 해야 되는데 이 데이터베이스는 외부로 연결이 되지 않기 때문에 우리 소스를 pythonanywhere에 올려 테스트를 해봅니다.

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함