안녕하세요. "미들웨어" 입니다.

 

지난 시간에 파이선 웹서버인 Flask (플라스크)에 대해 알아보고 설치해보는 과정을 진행해봤습니다. 

지난 시간에 설명드린 내용에선 Flask 란 무엇인지, Flask 플라스크를 설치하는 방법까지 진행했었는데요, 

이번시간에는 Flask 활용방법에 대해 정리 해보겠습니다. 

 

1~4장은 지난 시간에 정리한 7장을 참고해주세요. 
=> 
(오픈소스 활용-7) Flask 1장 - Flask 설치 및 python (2.7 -> 3.6) 업그레이드 방법

 

  

 

5. Flask 실행을 위한 샘플 구성

- flask-project 프로젝트 폴더 생성

[root@weblogic-test venv]# mkdir flask-project
[root@weblogic-test venv]# cd flask-project/
[root@weblogic-test flask-project]# ll
total 0
[root@weblogic-test flask-project]# pwd
/root/venv/flask-project

 

 

- app.py 생성

[root@weblogic-test flask-project]# vi app.py 


from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
    return 'Hello, World!'
if __name__ == '__main__':
    app.run(debug=True)

 

 

 
6. Flask 실행
- flask run 실행 오류
[root@weblogic-test flask-project]# flask run
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

 

- 오류 조치 

flask run 실행을 했더니 오류가 발생하네요.. 
그럼.. 저흰 오류를 조치하고 넘어가겠습니다.
 
  • 에러 내용 : This is a development server. Do not use it in a production deployment.
                 (번역해보면.. 개발 서버입니다. 프로덕션 배포에서는 사용하지 마십시오.)
  • 조치방법 : export FLASK_ENV=development
                 (위 옵션을 통해 환경변수를 development로 설정하여 개발모드로 활성화 하면 됩니다)
  • 환경변수 삽입 & flask실행 & 5000 port 기동 확인
[root@weblogic-test flask-project]# export FLASK_ENV=development


[root@weblogic-test flask-project]# flask run
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 146-132-730 


[root@weblogic-test ~]# netstat -an|grep 5000
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN

 

 

7. Hello, World! 샘플 출력
  • http://127.0.0.1:5000 호출을 하면 헬로월드가 찍힐것 같네요.
  • 서버에 5000 port를 기동했으니, 남은 것은 외부에서 접속 가능하도록 서버 5000 port 방화벽 오픈해줘야 합니다.
  • 추가로 외부 IP가 있는경우 외부에서 접근 되도록 5000 port 를 외부ip랑 연결해주는 작업을 상황에 따라 할 수 있습니다.
 
 
 
8. WSGI....?? 
웹서버와 통신을 하기 위해서는 WSGI를 설치하고 연결구성을 해줘야 합니다.
Nginx, Apacche 와 같은 웹서버를 설치하고 WSGI설정을 하면 Flask 연동 할 수 있습니다. 
 
아.. WSGI는 또 무엇일까요?

WSGI란? (Web Server Gateway Interface) 



WSGI는 다음에 여유되면 추가로 다뤄보도록 하겠습니다
궁금하신 분은 위에 출처들어가셔서 공부하시면 도움이 될 것 같네요. 
 
이렇듯 Flask를 활용하면 Cloud 환경에서 Nginx, apache를 대처할 수 있는 오픈 웹서버를 구성할 수도 있습니다. 
물론 활용하기에 따라 다르긴 하겠지만, 파이선 테스트를 진행하거나 파이선 서비스를 운영할때는 Flask도 훌륭한 대안이 될 수 있을 거라 생각됩니다. 
오픈소스는 활용하기에 따라 활용방법이 무궁무진 하니까요.. 
 

 

그럼.. 열공하세요~

+ Recent posts