nginx + uwsgi + django 협동 작업 시 발생 하 는 오류 및 해결
오류 1: 브 라 우 저 로 네트워크 IP 를 방문 하여 uWSGI 를 단독으로 테스트 할 때 자신 이 쓴 애플 리 케 이 션 을 찾 을 수 없습니다.
해결: django 공식 (https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/uwsgi/) 의 uwsgi 설정, module 매개 변 수 를 정확하게 작성 합 니 다.
module=mysite.wsgi:application
uwsgi 설정 파일 에 환경 설정 추가
env = DJANGO_SETTINGS_MODULE=mysite.settings
주: my site 를 자신의 응용 프로그램 으로 바 꾸 어 이름 을 부 르 고 다른 것 은 움 직 이지 마 세 요.이 중 브 라 우 저 로 직접 테스트 (nginx 와 같은 웹 서버 를 거치 지 않 음), socket 은 http - socket 으로 바 꿔 야 합 니 다.
오류 2: uwsgi 로그 오류 아마 다른 인 스 턴 스 of uwsgi is running on the same address.
해결: 이것 은 설정 을 수정 한 후에 다시 시작 하기 때 문 일 수 있 지만 포트 서 비 스 는 실행 전의 설정 입 니 다.포트 를 다시 시작 해 야 합 니 다.운행 하 다.
fuser –k /tcp
오류 보고 3: nginx 와 uwsgi 협회 가 동시에 upstream prematurely closed connection while reading response header from upstream
해결: 이전에 인터넷 에서 자 료 를 찾 았 는데 이 bug 가 나 온 여러 가지 원인 이 있 습 니 다. 어떤 사람 은 백 스테이지 프로그램 이 시간 을 초과 하면 socket 연결 이 닫 힙 니 다. 이런 경우 socket 시간 초과 연결 의 인 자 를 수정 해 야 합 니 다.데이터베이스 에 문제 가 있 는 경우 도 있다.하지만 이 문 제 는 nginx 와 uwsgi 의 협의 가 일치 하지 않 는 다 는 것 이다.그래서 다음 과 같이 수정 합 니 다.
uwsgi 는 http 프로 토 콜 과 uwsgi 프로 토 콜 을 지원 하 며 nginx 도 마찬가지 입 니 다.
그래서 uwsgi 프로 토 콜 을 사용 하여 uwsgi 서버 와 nginx 서버 의 통신 프로 토 콜 로 사용 하려 고 할 때 다음 과 같이 설정 합 니 다.
nginx
location / {
include uwsgi_params;
uwsgi_pass uwsgi://ip:port;
}
주: nginx 공식 문서 에서 uwsgipass 기본 프로 토 콜 은 uwsgi 또는 suwsgi 입 니 다.
uwsgi
socket = ip:port
혹은
uwsgi-socket = ip:port
주: uwsgi 공식 문서 에서 socket 옵션 의 해석 은 기본 프로 토 콜 을 사용 하여 지정 한 tcp 포트 에 연결 하 는 것 입 니 다.uwsgi 는 uwsgi 프로 토 콜 에 대한 지지 도가 가장 좋 기 때문에 기본 프로 토 콜 은 uwsgi 라 고 생각 합 니 다.uwsgi - socket 옵션 은 프로 토 콜 사용 uwsgi 를 지정 합 니 다.
내 가 http 프로 토 콜 을 사용 하여 uWSGI 서버 와 nginx 서버 의 통신 프로 토 콜 로 사용 할 때 다음 과 같이 설정 합 니 다.
nginx
location / {
proxy_pass http://ip:port/uri/;
}
주: nginx 공식 해석 proxypass 기본 프로 토 콜 은 http 또는 https 입 니 다.
uwsgi
http-socket = ip:port
주: http - socket 은 기본적으로 http 프로 토 콜 을 사용 합 니 다.
주: 브 라 우 저 를 사용 하여 접근 할 때 브 라 우 저 주소 표시 줄 에서 기본 값 은 http 프로 토 콜 입 니 다.따라서 브 라 우 저 를 사용 하여 uWSGI 를 단독으로 테스트 할 때 http - socket 을 사용 해 야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
UWSGI의 간단한 사용 방법Arch Linux 설치 foobar.py 서버 시작 클라이언트 액세스 검증된 환경...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.