我有一個django web應用程序,我需要從CentOS 6.8上的apache服務器提供服務。爲了得到這個,我使用mod_wsgi。在CentOS 6.8上使用mod_wsgi和apache提供Django文件
我有我的項目位於/ path/to/myproject。
就在那裏我有以下目錄和文件:
- app1/
- db.sqlite3
- myproject/
- myprojectenv/
- manage.py
- static/
我已經加入到我的setting.py這個指令:STATIC_ROOT = os.path.join(BASE_DIR, 「靜態/」)和I'我試圖運行django服務器,我可以正確地看到我的應用程序視圖。
所以,之後,我試圖配置Apache服務器,以便從我的瀏覽器發送請願書到我的應用程序,但是Apache上升了403 Forbidden錯誤。
,我遵循的步驟是:
- 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>
然後,我給權利apache用戶,爲了讓Apache將不得不把Django項目的訪問:
- 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錯誤」。
之後,我嘗試將我的django項目複製到apache目錄/ var/www /,並做到這一點,我finnaly可以看到我的django文件,但就像文件一樣,apache不能運行我的應用程序並顯示我的視圖正確。
我認爲問題可能是關於Apache用戶的權限,但我不知道我還能做什麼。
我在做什麼錯?