ํ์คํ ์น๐ ๊ฐ๋ฐ์ ์ง๋ง์ ๐ง๐ฝโ๐ป
โ ์ธ๊ณต์ง๋ฅ ๊ด์ฌ ๐ค
Categories
-
โฃ
โถ COMPUTER_SCIENCE
๐: 7 -
โฃ
โถ WEB
๐: 3 -
โฃ
โถ ETC
๐: 3-
โ
โฃ
ETCS
๐: 10 -
โ
โฃ
SUBBRAIN ๊ฐ๋ฐ๊ธฐ
๐: 5 -
โ
โ
YOS ๊ฐ๋ฐ๊ธฐ
๐: 1
-
โ
โฃ
-
โ
โถ AI
๐: 9-
โฃ
AITOOLS
๐: 3 -
โฃ
CV
๐: 2 -
โฃ
DEEP_LEARNING
๐: 1 -
โฃ
DATA_VIS
๐: 2 -
โฃ
GRAPH
๐: 1 -
โฃ
LIGHTWEIGHT
๐: 1 -
โฃ
MATH
๐: 1 -
โฃ
NLP
๐: 3 -
โ
STRUCTURED_DATA
๐: 2
-
โฃ
Django WSGI ๊ธฐ๋ณธ
WSGI(Web Server Gateway Interface)
WSGI๋?
Django ๊ฐ์ Python ๊ณ์ด ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ์์ ์น ์๋ฒ์ ํต์ ํ ๋, ๋ฏธ๋ค์จ์ด๋ก ์์ฉํ๋ฉฐ,
-
์น์๋ฒ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ํธํ์ฑ ๊ด๊ณ์์ด ํต์ ํ ์ ์๊ฒ ํด์ฃผ๊ณ ,
-
์ฌ๋ฌ ์์ปค๋ฅผ ํตํด ์์ฒญ์ ๋๊ธฐ์ , ํน์ ๋น๋๊ธฐ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ฒ ๋์์ค๋ค.
-
ํนํ Python์ผ๋ก ๋์๊ฐ๋ ์๋ฒ์ ๊ฒฝ์ฐ python ์ฝ๋๋ฅผ ๋ถ๋ฌ์ ๋ก๋ฉํ๋๋ฐ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ฐ, ์ด๋ฅผ ํ๋ฆฌ ํฌํน(pre-forking)๋ฅผ ํตํด ๋ฏธ๋ฆฌ ๋ถ๋ฌ์ค๊ณ ๊ณต์ ํ์ฌ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
-
ํ์ฅ๋ ๊ธฐ๋ฅ์ผ๋ก Nginx์ ๊ฐ์ ์น์๋ฒ์ ๊ฐ์ ์ญํ ์ ๋งก๊ธฐ๋ ํ๋ค.
Gunicorn
๊ณผ uWSGI
๊ฐ ์กด์ฌํ๋ฉฐ, ์ถ๊ฐ๋ก ๋น๋๊ธฐ์ ์ฒ๋ฆฌ๋ฅผ ์ง์ํ๋ ASGI(Asynchronous Server Gateway Interface)
๊ฐ ์กด์ฌํ๋ค.
Setting up Django and your web server with uWSGI and nginx ์ฐธ์กฐ
uwsgi ์์
pip install uwsgi
์ ์ฝ๋๋ฅผ ์ด์ฉํด virutalenv
์ค์ ํ ๋ค์ด๋ก๋ํ ํ ์๋์ ๊ฐ์ด uwsgi.ini
์ค์ ํ์ผ์ ๋ง๋ ๋ค.
[uwsgi]
socket = /srv/docker-server/movie_backend.sock
// ์์ฑํ ์์ผํ์ผ ์์น ๋๋๋ก์ด๋ฉด ์ ๋ ์์น ๊ธฐ์
master = true
// ๋ง์คํฐ ์๋ฒ์ธ๊ฐ?
processes = 1
threads = 2
chdir = /srv/docker-server/
// ํ๋ก์ ํธ ์์น
module = movie_backend.wsgi
// django์ wsgi ์ฐ๊ฒฐ ๋ชจ๋ ์์น
logto = /var/log/uwsgi/uwsgi.log
// ๋ก๊น
์ฅ์
log-reopen = true
vaccum = true
// ์ข
๋ฃ ์ ๊ด๋ จํ ์์ฑ ํ์ผ ์ญ์
- ๊ธฐํ ์ถ๊ฐ์ ์ธ ์ค์ ์ Configuring uWSGI โ uWSGI 2.0 documentation ํ์ธ
์ uwsgi.ini
ํ์ผ์ ์ฃผ์์ ์ ๋ถ ์ง์ฐ๊ณ ํ๋ก์ ํธ ํด๋์ ๋ฃ๋๋ค.
uwsgi --ini uwsgi.ini
.ini
์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ ๋๋ก ์ค์ ํ์.
Attaching to django, nginx
django | [uWSGI] getting INI configuration from uwsgi.ini
django์ ์ ๋๋ก ์ฐ๊ฒฐ๋์๋ค๋ฉด ์๋จ๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋ํ๋๊ฒ ๋๋ค.
_articles/web/backend/Django/Django WSGI ๊ธฐ๋ณธ.md