웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > python

python flask를 사용한 웹서버 구축하기

Last Modified : 2020-08-15 / Created : 2017-07-19
10,132
View Count
새롭게 기존 서버 언어를 Python으로 변경하였습니다. 아래는 Python의 flask 프레임워크로 웹서버를 변경하면서 요약한 내용들 입니다.


! Why Python

먼저 왜 Python으로 서버 언어를 변경하였는가의 이유입니다. 예전부터 서버 운영을 항상 저가형 해외 웹호스팅을 고려하다보니 서버 환경은 항상 php 언어와 mysql 데이터베이스만 사용하였습니다. 그러다보니 더 많은 트래픽 동접 환경 등에 대처하기 위한 성능이슈(페이지 로딩 속도 등등..) 등이 불만족이었습니다.

그런 이유로 더 나은 서버 환경을 찾고 있던 중 PythonFlask를 사용하는 웹어플리케이션을 알게 되었고 곧바로 환경 구축 및 마이그레이션을 단행하게 되었습니다. (참고로 지금은 php 7.0을 사용해도 꽤 놓은 퍼포먼스를 보여준다고 알고 있습니다.)

성능에 문제가 된 부분은 몇 가지가 있는데 최근 늘어난 방문자 수도 이유였지만 SPA 환경(AngularJs)으로 구축하면서 서버 렌더링이 아닌 SPA 방식의 많은 api 호출이 필요했기 때문입니다. 즉, 비동기 방식에 좀 더 유리한 서버 환경이 필요하게 되었죠. 그래서 최종 구축된 새로운 서버 환경은 다음과 같습니다.

  • Cloud 방식의 AWS 아마존 웹서비스 사용
  • Python 사용
  • Flask 프레임워크
  • wsgi 미들웨어 구축
  • nginx 웹서버

기존에 경험했던 것들이 전혀 없는 완전히 새로운 환경으로 이전하면서 수 많은 시행착오가 있었지만 현재는 잘 동작하고 있습니다. 그럼 아래부터는 그 과정들입니다.




# 새로운 서버환경 구축 및 이전하기

AWS는 다양한 방식으로 어플리케이션을 구동할 수 있는데 저는 가장 일반적인 AWS Computing인 EC2 서비스를 사용하였습니다. 필요한 인스턴스를 만들고 띄웠으며 운영체제는 리눅스 기반의 Ubuntu를 사용했습니다.



! 리눅스에 nginx를 설치 및 설정하는 방법

가장먼서 서버를 구동하기 위해서 리눅스 환경에서 nginx를 설치, 실행하는 방법을 알아야합니다. 아래 링크를 참고하시기 바랍니다.


https://webisfree.com/2017-07-04/linux-환경에서-nginx-웹서버-설치-및-실행하기



! Python 설치 및 기타 개발 환경 구축


우선 가장 필수적인 서버 언어 Python을 설치해야 하며 어떤 프레임워크를 사용할 것인지 결정해야합니다. Python의 경우 프레임워크가 워낙 다양하고 많아 운영하는 어플리케이션의 용도에 맞는 프레임워크를 잘 선택해야하죠. 아래는 그 중 하나인 Flask 설치 방법입니다.

참고로 Python 프레임워크는 Django(장고)이가 넓리 쓰이고 알려져 있습니다. 다만 무거운 감이 있어 비교적 가벼운 프레임워크인 Flask를 선택하고 설치하였습니다.

Flask 설치 및 기타 보기 >
https://webisfree.com/2017-05-25/파이썬-flask를-사용한-간단한-예제보기

​​​​​​​
위 내용은 웹서버 구축과 서버 언어를 나누어 내부 링크로 대체하였습니다. 원하는 내용을 클릭 후 살펴보시기 바랍니다.

Previous

pip 패키지 인스톨 proxy 환경에서 사용하는 방법

Previous

Flask session 에러 RuntimeError 해결방법