Code/Python

[Python] Flask 프레임워크 사용하기

codens 2019. 3. 15. 02:55


    파이썬 플라스크 Framework start
    - 기본 설치와 설정은 되었는 것으로 전제
    - 참고 : 파이썬 웹 시작하기 https://codens.info/1684


//==============
* 가상 환경 만들기
    - VirtualenvWrapper 사용

mkvirtualenv flask1
workon flask1


//==========
* uwsgi 설치
pip3 install uwsgi

sudo apt-get install uwsgi-plugin-python


* uwsgi 설정
cd ~
mkdir flask1
cd flask1
~/flask1/uwsgi.ini 파일 생성

[uwsgi]
chdir = /home/ubuntu/flask1
virtualenv = /home/ubuntu/.virtualenvs/flask1
#home = /home/ubuntu/.virtualenvs/flask1 #가상환경경로
daemonize=/home/ubuntu/.virtualenvs/flask1/wsgi_daemon.log
logger = file:/home/ubuntu/.virtualenvs/flask1/wsgi.log
#uid = ubuntu    #gid = ubuntu
chmod-socket=666
#chown-socket = ubuntu:ubuntu
socket = 127.0.0.1:3031
#socket=/tmp/uwsgi_flask1.sock
#stats = 127.0.0.1:9191
#master = true    #processes = 4    #threads = 2 #vacuum = true
#enable-threads = true    #single-interpreter = true    #lazy-apps = true
#module = wsgi:application
#module = flask1.wsgi
callable = app
wsgi-file = routes.py


    - uwsgi 시작
uwsgi uwsgi.ini
        - 종료 방법 : sudo killall -9 uwsgi


        - uwsgi 시작이 안되는 경우, 쉘이 zsh라면 bash로 바꾼다.

//======================
* Nginx 설정
/etc/nginx/sites-available/default 파일에 다음을 추가

#===========
# flask1
server {
    #listen 8080 ;
    #listen [::]:80 ;

    server_name flask1.test;

    #root /home/ubuntu/flask1;       
    #index index.html index.htm;
   
    location / {
        try_files $uri @app;
    }
    location @app {
        include /etc/nginx/uwsgi_params;
        uwsgi_pass 127.0.0.1:3031;
        #uwsgi_pass unix:/tmp/uwsgi_flask1.sock;
   }
}

    - nginx 재시작
sudo service nginx restart


//============
* Flask 설치
cd ~/flask1
pip3 install flask


* 폴더 파일 생성

    //=================
    - routes.py 파일 생성
from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def home():
    return render_template("home.htm")

@app.route("/hello")
def salvador():
    return "Hello, there"


if __name__ == "__main__":
    app.run(debug=True)


    //===================
    - templates/home.htm 파일 생성
<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>home</title>
  </head>
  <body>
    <h3> Flask  home</h3>
  </body>
</html>



//===============
//참고
https://code.tutsplus.com/ko/tutorials/an-introduction-to-pythons-flask-framework--net-28822
https://medium.freecodecamp.org/how-to-build-a-web-application-using-flask-and-deploy-it-to-the-cloud-3551c985e492





반응형