[Python] Flask & Nginx & Gunciorn 연결하기
Flask
Gunicorn
Nginx
이번에 동아리의 친구와 함께 간단한 웹 개발을 했었다. 둘 다 웹 프로그래밍에 익숙치 않아 공부 혹은 개인적으로 사용할 용도로 Flask 자체에 있는 웹 서버로 구동하고 있었는데, 의외로 동아리 사람들이 많이 사용을 하게 되어 동접자 10명만 넘어도
CSS
,JS
,HTML
파일들을 제대로 불러오지 못하고 렉이 걸리는 문제가 발생했었다.
그래서 웹 서버와 Flask를 연동하자는 생각이 들었고, 하는 김에 전에 들었던Gunicorn WSGI
까지 ㅇ녀동해서 사용해 보려고한다.
- WSGI & Gunicorn
- Nginx
- Flask & Gunicorn & Nginx 연동
WSGI & Gunicorn
추후 추가
Nginx
추후 추가
Flask & Gunicorn & Nginx 연결
서버 : Ubuntu 12.04 LTS(64-bit)
Python v2.7.3
기본적으로
sudo apt-get install nginx-full
sudo apt-get install python-pip
sudo apt-get install python-dev
pip install virtualenv
등등을 설치해야 한다.
그 후 프로젝트 폴더와 virtualenv를 생성하고, 로드
mkdir flask-app ; cd flask-app
virtualenv py-env
source py-env/bin/activate
flask와 Gunicorn 설치
pip install flask
pip install gunicorn
간단한 Flask 앱을 생성한다.
vi run.py
이 후 Nginx 설정을 해야한다. 그 전에 default 삭제
sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default
sudo vi /etc/nginx/sites-available/nginx-test
server{
location / {
proxy_pass http://127.0.0.1:8000;
}
location /static{
alias /home/nginx-test/flask-app/static;
proxy_pass http://127.0.0.1:8000;
}
}
sudo ln -s /etc/nginx/sites-available/nginx-test /etc/nginx/sites-enabled/
Nginx를 재시작하고
sudo service nginx restart
gunicorn을 이용해 8000포트로 어플리케이션을 실행한다
gunicorn run:app -b localhost:8000
'Programming' 카테고리의 다른 글
집단지성 프로그래밍 1(Machine Learning, Euclidean Distance, Pearson Correlation Coefficient) (3) | 2015.06.27 |
---|---|
꼬리재귀, Tail Recursion (0) | 2015.06.23 |
[Python] Flask & Socket IO 웹 소켓을 이용한 채팅 (3) | 2015.02.03 |
[Python] gevent & monkey pathcing (0) | 2015.01.28 |
[Python] gevent & mechanize, asynchronous Scraping (1) | 2015.01.24 |