django 생산 환경 배치 (4): asgi 서버daphne 처리 웹socket 요청
5248 단어 생산 환경
daphne 배포
# /settings wsgi.py asgi.py
"""
ASGI entrypoint. Configures Django and then runs the application
defined in the ASGI_APPLICATION setting.
"""
import os
import django
from channels.routing import get_default_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
django.setup()
application = get_default_application()
다음에daphne 서비스 테스트를 시작합니다 (프로젝트 루트 디렉터리에서)
daphne -p 8991 myproject.asgi:application or daphne -b 127.0.0.1 -p 8991 myproject.asgi:application
ctrl+C
종료nginx 에이전트 웹소켓
nginx 프로필 수정: *.conf 참고 구성은 다음과 같습니다.
#
upstream wsbackend {
server 127.0.0.1:8001;
}
location /ws/deploy {
proxy_pass http://wsbackend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
#
location /ws {
proxy_pass http://127.0.0.1:8991;
# proxy_connect_timeout 2s
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_redirect off;
proxy_set_header Host $host;
# proxy_set_header X-Real_IP $remote_addr_IP;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
# proxy_read_timeout 60s;# 60s
# proxy_send_timeout 60s;# 60s
}
누가 나에게
upstream wsbackend
를 사용하는 것과 내가 직접 주소 포트를 설정하는 것이 무엇이 다른지 알려줄 수 있습니까?그 다음에nginx,uwsgi,daphne를 시작하면 됩니다.
참조:https://www.cnblogs.com/wdliu/p/10032180.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
django 생산 환경 배치 (4): asgi 서버daphne 처리 웹socket 요청uwsgi2.0 이후에 웹소켓 지원을 추가한 것 같지만 성숙하지 않기 때문에 우리는 성숙한 공식 추천 asgi 서버daphne를 선택하여 웹소켓 요청을 처리합니다. 프로젝트에 웹소켓이 없는 것은 지난 편에서 이미 끝...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.