용어설명
웹 소켓: 브라우저와 서버 간에 양방향 통신을 가능하게 하는 기술
일반적인 HTTP 요청과 달리, 웹 소켓 연결은 지속적이며 실시간으로 데이터를 주고 받을 수 있습니다.
롤 폴링: 웹소켓과 비슷한 실시간 통신 효과를 내기위한 기술. 클라이언트가 서버에 요청을 보내면, 서버는 새로운 데이터가 있을 때까지 응답을 보류 새로운 데이터가 생기면 응답을 하고, 클라이언트는 다시 요청을 보냅니다.
import os
from django.core.asgi import get_asgi_application
# myproject는 Django 프로젝트 이름
# 웹 서버와 애플리케이션 간의 연결을 설정
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
# 객체를 사용하여 요청을 Django 애플리케이션으로 전달
application = get_asgi_application()
daphne myproject.asgi
# 또는
uvicorn myproject.asgi:application
Django의 기본 웹 서버 인터페이스 파일
주로 전통적인 동기적 요청 처리에 사용
wsgi.py를 사용하여 Django 애플리케이션을 WSGI 호환 웹 서버(Gunicorn, uWSGI 등)에 연결
용어설명
Gunicorn: Python WSGI HTTP 서버, Python 웹 어플리케이션을 호스팅하는데 사용
uWSGI: Python WSGI를 지원하는 다목적 웹서버, 다양한 언어어와 프로토콜을 지원하며, 높은 성능과 확장성을 제공. 애플리케이션 서버, 메시지 브로커 등으로도 사용될 수 있습니다.
예시
import os
from django.cor.wsfi import get_wsgi_application
# myproject는 Django 프로젝트 이름
# 웹 서버와 애플리케이션 간의 연결을 설정
os.environ.setdefault('Django_SETTING_MODULE', 'myproject.settings')
# 객체를 사용하여 요청을 Django 애플리케이션으로 전달
application = get_wsgi_application()
gunicorn myproject.wsgi