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; # ๋งˆ์ฐฌ๊ฐ€์ง€ 
        }
}