python.flask - k821209/pipelines GitHub Wiki
- flask๋ฅผ ์ด์ฉํด์ ํจ์๋ฅผ ์๋น์คํ ์ ์์.
- ๋์ถฉ ์ดํดํ ์ ์ฒด ๊ตฌ์กฐ
- ์ธ๋ถ์ธ๊ณ -> Docker (3002ํฌํธ) -> Nginx (8000ํฌํธ) -> Gunicorn (5000ํฌํธ)
# ์ค์น
sudo apt-get install nginx
> rm /etc/nginx/sites-available/default
> rm /etc/nginx/sites-enabled/default
> vi /etc/nginx/sites-available/thisApp # ์๋์ฐธ์กฐ
> ln -s /etc/nginx/sites-available/thisApp /etc/nginx/sites-enabled/
> service nginx restart
> nginx -t # ์๋ฌ๋๋ค๋ฉด ์๋ํด๋ณด๊ธธ. ์๋ฌ๋ฉ์ธ์ง๋ฅผ ์ค๋ค.
> gunicorn -w 4 -b 0.0.0.0:5000 app:app # ์ฌ๊ธฐ์ app์ app.py ํ์ผ๋ช
์์์ app์ธ๋ฏ. ์ ํํ๋ ๋ชจ๋ฅด๊ฒ ์. 4๊ฐ์ ์ํฌ๋ฅผ ์ฌ์ฉ
# /etc/nginx/sites-available/thisApp
server{
listen 8000; # ์ ค ๋ฐ์์ 8000ํฌํธ๋ฅผ ๋ฃ๋๋ค. ๋์ปค๊ฐ ์ ค ๋จผ์ ์ ๊ณตํด์ฃผ๋ 8000๋ฒ
server_name thisApp;
root /api/flaskCsvConverter;
location / {
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://0.0.0.0:5000; # 8000ํฌํธ๋ฅผ 5000ํฌํธ์ ๋ถ์. gunicorn ์ด 5000๋ฒ ์ฌ์ฉ
break;
}
}
location /static{
alias /api/flaskCsvConverter/static;
proxy_pass http://0.0.0.0:5000; # ๋ง์ฐฌ๊ฐ์ง
}
}