일부 장고 웹 사이트를 호스팅하기 위해 ec2 인스턴스를 실행 중입니다. 웹 사이트는 mod_wsgi를 사용하여 Apache에 의해 제공됩니다.django, apache, mod_wsgi 및 python py-scrypt가 함께 작동하지 않음
며칠 새 웹 플랫폼을 배포하려고 했으므로 개발 중이지만 해결할 수없는 문제가 발생했습니다. 보안상의 이유로 우리는 scrypt 0.4을 사용하여 암호와 같은 사용자의 개인 정보를 보호합니다.
개발 서버에서 모든 것이 매력처럼 작동하지만 실제 서버에 배포 할 때 500 개의 내부 서버 오류가 발생합니다. 나는 scrypt 모듈은 모든 것이 잘 작동에 사용되는 행의 주석을 해제하면
: 리퍼러, socialmarketingplatform.wsgi : 아파치 로그는 다음과 같은 메시지를 나에게 스크립트 헤더의
조기 종료를 제공합니다. 또한 장고와 함께 제공되는 서버를 실행할 때 scrypt를 사용하면 모든 것이 라이브 서버에서 작동합니다. 따라서 오류를 생성하는 mod_wsgi, django 및 scrypt의 조합입니다.
import os import sys path = '/var/www/vhosts/[sub_domain]' if path not in sys.path: sys.path.append(path) sys.path.append(path + '/socialmarketingplatform') os.environ['DJANGO_SETTINGS_MODULE'] = 'socialmarketingplatform.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
을 다음과 같은 가상 호스트 설정 :
나는 다음과 같은 WSGI 파일을 사용하고
<VirtualHost *:80> #Basic setup ServerAdmin [removed email] ServerName luxdevelopment.net ServerAlias [sub domain] DocumentRoot /var/www/vhosts/[sub domain]/socialmarketingplatform/ Alias /media/admin /usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/contrib/admin/media Alias /media /var/www/vhosts/[sub domain]/socialmarketingplatform/media <Location media=""> SetHandler None </Location> LogLevel warn ErrorLog /var/log/httpd/smp_error.log CustomLog /var/log/httpd/smp_access.log combined WSGIDaemonProcess luxdevelopment.net user=apache group=apache threads=25 WSGIProcessGroup luxdevelopment.net WSGIScriptAlias//var/www/cgi-bin/socialmarketingplatform.wsgi </VirtualHost>
나는 누군가가이 문제를 도와 줄 수 있기를 바랍니다. 더 이상의 질문이 있으면 알려주세요.
아아! DocumentRoot에 코드를 넣지 마십시오! 특히 당신이 보안에 관심이 있다면. –
@ daniel-roseman : 이것이 내 문서 루트가/var/www/html/인 이유입니다. 어쩌면 내가 그 폴더 밖에서 소스를 옮길 수 있는지 알 수있을 것입니다. 귀하의 제안에 감사드립니다. –
글쎄, 내 말은 당신이 코드의 위치에 DocumentRoot를 설정했다는 것이다. 그러지 마. –