티스토리 뷰
저는 '네이버 클라우드 플랫폼'의 Micro Server를 이용했습니다.1vCPU
1GB Mem
50GB Disk
Ubuntu Server 16.04 64bit
우선 Flask를 사용하기 위한 유저를 추가해줍니다.
$ sudo adduser flask
추가한 flask 계정에 권한을 줍니다.
$ sudo visudo
# User privilege specification
root ALL=(ALL:ALL) ALL
flask ALL=(ALL:ALL) ALL <- 추가
이제 추가한 flask 계정으로 이동합니다.
$ su - flask
Flask 개발에 필요한 프로그램들을 설치합니다.
$ sudo apt-get install build-essential python3 python3-dev
python3-pip nginx uwsgi uwsgi-plugin-python3
파이썬 가상환경을 위한 virtualenv 설치와 가상환경 생성입니다.
$ sudo pip install virtualenv
$ virtualenv flask_env
$ source flask_env/bin/activate
(flask_env) flask@ubuntu:~$ <- 이렇게 앞에 가상환경이름이 나오면 가상환경에서 작업중인것입니다.
$ deactivate <- 가상환경 비활성화 명령어
가상환경에서 사용할 uwsgi를 설치합니다.
(flask_env) flask@ubuntu:~$ pip3 install uwsgi
이제, Flask와 Nginx의 연동을 위해 관련 설정을 해줍니다.
Nginx 설정
$ sudo nano /etc/nginx/sites-available/default
설정 내용
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 0.0.0.0;
location / {
try_files $uri @app;
}
location @app {
include uwsgi_params;
uwsgi_pass unix:/home/flask/flask_env/uwsgi.sock;
}
}
uwsgi 설정
$ sudo nano /etc/uwsgi/apps-available/uwsgi.ini
설정 내용
[uwsgi] chdir = /home/flask/flask_app <-flask 경로
uid = flask
gid = flask
chmod-socket = 666
socket = /home/flask/flask_env/uwsgi.sock
module = start <- flask 파일 이름 ex) start.py
callable = app <- app = Flask(__name__) 에서 app 부분
virtualenv = /home/flask/flask_env
uwsgi 설정 파일을 링크해줍니다.
$ sudo ln -s /etc/uwsgi/apps-available/uwsgi.ini /etc/uwsgi/apps-enabled/
테스트 해볼 flask app을 만듭니다.경로는 ~/flask_app/start.py로 하겠습니다.
$ cd ~
$ mkdir flask_app
$ vi start.py
start.py의 코드입니다!
from flask import Flask
app = Flask(__name__)
route('/') .
def hello():
return 'Hello ILHAN!'
if __name__ == '__main__':
app.run()
거의 다 끝났습니다!!
Nginx, uwsgi를 재시작해줍니다.
$ sudo service nginx restart
$ sudo service uwsgi restart
끝!
이제 제대로 작동이 되는지 접속을 해보면 됩니다!
'Programming' 카테고리의 다른 글
[RPI] 라즈베리파이에서 Selenium 사용하기 (0) | 2019.05.11 |
---|