>  Q&A  >  본문

nginx + uwsgi가 django(400 또는 502)를 배포하지 못했습니다....

환경:
OS X 10.8.5
장고 1.6
파이썬 2.7.2
먼저 구성을 게시하겠습니다

으아아아 으아아아

구성은 기본적으로 다음 두 튜토리얼을 기반으로 합니다
https://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
https://docs.djangoproject.com/en/1.6/howto/ 배포/wsgi/uwsgi/

nginx와 uwsgi가 모두 포함된 소켓을 사용하면 502 오류가 보고됩니다.
다음은 uwsgi의 경우 항상 발생하며 요청이 표시되지 않습니다.

으아아아

127.0.0.1:3031을 사용하면 400에러가 발생합니다.
하지만 uwsgi에서 요청이 오는 것을 볼 수 있습니다.

으아아아

이틀동안 짜증났는데 어떻게 해결해야할지 모르겠어요...


그리고 nginx에서 include uwsgi_params; 기능이 무엇인지 묻고 싶습니다.
이것이 없으면 uwsgi가 다음 오류를 보고한다는 것을 발견했습니다:

으아아아
伊谢尔伦伊谢尔伦2712일 전738

모든 응답(1)나는 대답할 것이다

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:30:00

    nginx와 uwsgi가 모두 포함된 소켓을 사용하면 502 오류가 보고됩니다

    nginx에서 502를 보고합니다. 이는 업스트림 설정이 잘못되었거나 업스트림이 가리키는 서버에서 오류를 보고함을 나타냅니다. unix:///Users/scarlex/Projects/venv/mysite/white.sock写法错误,多了两个斜杠,正确的是unix:/Users/scarlex/Projects/venv/mysite/white.sock。从题主贴出的uwsgi配置来看,chmod-socket = 664可能不当,尝试设为chmod-socket = 666。nginx一般是以http用户启动的,664white.sock에 쓸 권한이 없을 수도 있습니다.

    127.0.0.1:3031을 사용하면 400에러가 발생합니다.

    이것은 nginx와 관련이 없으며 순전히 uwsgi 또는 django 구성의 오류입니다(스크립트 자체의 소스 코드에 오류가 있는 경우 5xx를 보고해야 합니다). 가능하다면 django의 settings.py를 게시하세요.

    가능한 추측 제공:

    마지막으로 DEBUG가 False인 경우 ALLOWED_HOSTS 설정도 올바르게 설정해야 합니다. 그렇게 하지 않으면 모든 요청이 "잘못된 요청(400)"으로 반환됩니다

    https://docs.djangoproject.com/en/1.6/ref/settings/#std%3asetting-ALLOWED_HOSTS

    회신하다
    0
  • 취소회신하다