heroku는 python을 지원한다.


만약 heroku에 대해서 잘 모르는 사람은 다음 사이트를 참고 바란다. (https://devcenter.heroku.com/articles/getting-started-with-python#introduction)


웹서버를 쓸일이 있었는데 여러모로 덩치가 큰  django보다 flask가 괜찮을 것 같아 쓰게 되었는데 heroku에서 flask를 쓸수 있다는 것을 처음 알게 되었다.

flask 자체가 하나의 파이썬 파일로 구성되어 있기 때문에 별다르게 할 건 없다.


"heroku dino 생성 --> 프로젝트 연결 --> git을 통해 deploy"


조금 고려할 사항이 있다면 Procfile을 구성하는 것인데 제대로 서비스를 해도 되지 않기 때문에 일단 다음과 같이 작성했다.


web: python flask_server.py

그냥 개발서버 작동시키는 명령어를 쓴거라 작동은 하지만 제대로 된 서비스를 하는 사람에게 권장할 수 있는 방식은 아닌 듯 하다.


그 후에 조금 찾다보니 heroku와 연동하는 라이브러리가 있어 아래에 남겨 놓는다.



참고사이트

- https://github.com/zachwill/flask_heroku

https://github.com/kennethreitz/flask-heroku

처음 개발을 시작 했을 때 웹개발을 좀 해보고자 시작 했었다.

평소에 친한 개발자 친구가 항상  python을 극찬했기 때문에 별 생각없이 개발공부 시작을 python으로 했는데, 당시 웹개발에 있어서 python은 마이너한 친구라는 걸 나중에서야 알았다. 물론 린 개발론이 유행을 타던 시절이라 django가 새롭게 조명받고 있긴 했지만 메이저한 시장에서는 자바나 닷넷등을 쓰던 시절이라 python으로 웹개발을 한다고 하면 일부 사람들은 무슨 웹개발을 python으로 하냐며 웃고 지나가던 그런 경우도 있었다.


그럼에도 불구하고 python을 권장해준 친구가 무슨 말을 그리하냐며 엄청 쉽고 간단하다며 flask를 소개해줬는데, 당시만 해도 웹서버 뭐하는 놈인지 개념조차 없던 시절이라 겁나 어려운걸 소개해줘놓고 쉽다고 하니 장난하나 싶었던 기억이난다.


당시에는 python으로 웹개발하는 걸 소개하는 책도 없어서 뒤지고 뒤져서 딱 한권 나왔는데 아래 서적이었다.


파이썬 웹 프로그래밍
국내도서
저자 : 주성식,홍성민
출판 : 위키북스 2014.01.28
상세보기

 

지금와서 하는 말이지만 비개발자에게 이 책은 정말 추천할수가 없다.

이미 어느 정도  개발을 하고 있다는 것을 전제하고 쓴 책이란 느낌을 지울수가 없는게 한마디로 말해 책에 나온 예제를 따라할 수가 없다.

상황이 그러하다 보니 당시에는 좀 보다가 그냥 포기했었다.


그러다 어제 tistory 오픈 api를 써서 글을 올리는 것을 구현하는 중 redirect url을 제공해야 하는 상황이와서 웹서버를 써야 하나 싶다가 문득  flask가 생각났다.

물론 책을 다시 펼처본건 아니고 flask 홈페이지로 가서 간단한 설치 및 사용법을 보고 웹서버를 만들어봤는데 한마디로 "초간단"


당시에 추천해준 친구를 원망 했던 것을 미안하게 생각하며 간단하게 한번 살펴보면 다음과 같다.



홈페이지: http://flask.pocoo.org/docs/0.11/ 


1.설치

언제나 그렇 듯 python은 pip가 진리...그냥 아래 명령어를 bash에서 입력하면 끝난다.

$ pip install Flask

2.python 파일 하나 만들기 

이름은 whatever...그냥 만든다.

내 경우에는 flask_server.py라는 파일을 만들었다.


파일 안에 코드는 다음과 같다.

# -*- coding: utf-8 -*-
from flask import request
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():


return "hello"




if __name__ == "__main__":

app.run()


3. flask 서버 시작

아래 명령어를 넣어주면 서버가 시작된다.

$ export FLASK_APP=hello.py
$ flask run
 * Running on http://127.0.0.1:5000/

4. 확인

웹서버는 지금 http://localhost:5000에서 돌아가고 있다.

해당 주소를 치면 "hello"가 출력되는 것을 볼 수 있다.



이렇게 간단하다.

물론 추가적인 모듈이나 라이브러리를 일일히 추가해줘야 한다는 점에서 기능이 복잡한 앱을 개발한다면 django에 비해 불편한점이 있지만 간단한 request, response만 하는 간단한 웹서버라면 강추 한다. 


참고

- http://flask-docs-kr.readthedocs.io/ko/latest/

+ Recent posts