CentOS 6.8의 Apache 서버에서 서비스해야하는 django 웹 응용 프로그램이 있습니다. 이를 위해 mod_wsgi를 사용하고 있습니다.CentOS 6.8에서 mod_wsgi 및 apache를 사용하여 Django에서 파일 제공
내 프로젝트는/path/to/myproject에 있습니다. 바로 거기
나는이 다음 디렉토리 및 파일 : 내 setting.py이 지시자를 추가 한
- app1/
- db.sqlite3
- myproject/
- myprojectenv/
- manage.py
- static/
: STATIC_ROOT = os.path.join (BASE_DIR, "정적 /") 및 I' django 서버를 실행하려고 시도하고 내 응용 프로그램보기를 올바르게 볼 수 있습니다.
그 후, 나는 내 브라우저에서 청원서를 내 앱으로 보내려면 아파치 서버를 구성하려고 시도했지만 아파치는 403 금지 된 오류를 발생시킵니다. 나는 다음
단계는 다음과 같습니다 그런
- Add to httpd.conf the following information:
<VirtualHost *:80>
Alias /static /path/to/myproject/static
Alias /app1 /path/to/myproject/app1
<Directory /path/to/myproject/static>
Order allow,deny
Allow from all
</Directory>
<Directory /path/to/myproject/app1>
Order allow,deny
Allow from all
</Directory>
<Directory /path/to/myproject/myproject>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>
WSGIDaemonProcess myproject user=myuser group=mygroup python-path=/path/to/myproject:/path/to/myproject/myprojectenv/lib/python2.7/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias//path/to/myproject/myproject/wsgi.py
</VirtualHost>
, 나는 아파치 내 장고 프로젝트에 액세스 할 수 있도록하기 위해, 아파치 사용자에게 권한을 준 :
- sudo usermod -a -G myuser apache
- chmod 710 /home/myuser
- chmod 664 ~/myproject/db.sqlite3
- sudo chown :apache ~/myproject/db.sqlite3
- sudo chown :apache ~/myproject
마지막으로, htttpd 서비스를 재시작하고 내 앱에 청원서를 보내려고했지만 "403 Forbidden error"가 있습니다.
그 후에 나는 django 프로젝트를 apache 디렉토리/var/www /에 복사하려고했는데 finnaly는 내 장고 파일을 볼 수 있었지만 파일처럼 아파치는 내 앱을 실행하지 않고 내보기를 보여줬다. 바르게.
나는이 문제가 아파치 사용자의 권한에 관한 것일 수 있다고 생각하지만, 내가 뭘 할 수 있는지 모른다.
내가 뭘 잘못하고 있니?