Apache-2.2
django mod_wsgi的ubuntu linode伺服器404錯誤
我已經用 apache2 和 mod_wsgi 配置了一個 linode 伺服器。
- 伺服器正在執行
- wsgi 正在執行
- postgre 正在執行並且 syncdb 成功
我無法完成的實際上是為應用程序提供服務..
我的文件結構:
. ├── logfile └── srv ├── logfile └── www └── quickerhub.com ├── admin │ ├── css │ │ ├── base.css │ │ ├── changelists.css │ │ ├── dashboard.css │ │ ├── forms.css │ │ ├── ie.css │ │ ├── login.css │ │ ├── rtl.css │ │ └── widgets.css │ ├── img │ │ ├── changelist-bg.gif │ │ ├── changelist-bg_rtl.gif │ │ ├── chooser-bg.gif │ │ ├── chooser_stacked-bg.gif │ │ ├── default-bg.gif │ │ ├── default-bg-reverse.gif │ │ ├── deleted-overlay.gif │ │ ├── gis │ │ │ ├── move_vertex_off.png │ │ │ └── move_vertex_on.png │ │ ├── icon_addlink.gif │ │ ├── icon_alert.gif │ │ ├── icon_calendar.gif │ │ ├── icon_changelink.gif │ │ ├── icon_clock.gif │ │ ├── icon_deletelink.gif │ │ ├── icon_error.gif │ │ ├── icon-no.gif │ │ ├── icon_searchbox.png │ │ ├── icon_success.gif │ │ ├── icon-unknown.gif │ │ ├── icon-yes.gif │ │ ├── inline-delete-8bit.png │ │ ├── inline-delete.png │ │ ├── inline-restore-8bit.png │ │ ├── inline-restore.png │ │ ├── inline-splitter-bg.gif │ │ ├── nav-bg.gif │ │ ├── nav-bg-grabber.gif │ │ ├── nav-bg-reverse.gif │ │ ├── nav-bg-selected.gif │ │ ├── selector-icons.gif │ │ ├── selector-search.gif │ │ ├── sorting-icons.gif │ │ ├── tool-left.gif │ │ ├── tool-left_over.gif │ │ ├── tool-right.gif │ │ ├── tool-right_over.gif │ │ ├── tooltag-add.gif │ │ ├── tooltag-add_over.gif │ │ ├── tooltag-arrowright.gif │ │ └── tooltag-arrowright_over.gif │ └── js │ ├── actions.js │ ├── actions.min.js │ ├── admin │ │ ├── DateTimeShortcuts.js │ │ ├── ordering.js │ │ └── RelatedObjectLookups.js │ ├── calendar.js │ ├── collapse.js │ ├── collapse.min.js │ ├── core.js │ ├── getElementsBySelector.js │ ├── inlines.js │ ├── inlines.min.js │ ├── jquery.init.js │ ├── jquery.js │ ├── jquery.min.js │ ├── LICENSE-JQUERY.txt │ ├── prepopulate.js │ ├── prepopulate.min.js │ ├── SelectBox.js │ ├── SelectFilter2.js │ ├── timeparse.js │ └── urlify.js ├── interest │ ├── django.wsgi │ ├── __init__.py │ ├── __init__.pyc │ ├── settings.py │ ├── settings.pyc │ ├── urls.py │ └── wsgi.py ├── js │ └── jquery-1.10.1.min.js ├── logfile ├── manage.py ├── README ├── reoccurring │ ├── admin.py │ ├── forms.py │ ├── __init__.py │ ├── __init__.pyc │ ├── models.py │ ├── models.pyc │ ├── usagelib.py │ └── views.py ├── schedule │ ├── admin.py │ ├── __init__.py │ ├── __init__.pyc │ ├── models.py │ ├── models.pyc │ ├── tests.py │ ├── usagelib.py │ └── views.py ├── src │ ├── facebooksdk │ │ ├── examples │ │ │ ├── appengine │ │ │ │ ├── app.yaml │ │ │ │ ├── example.html │ │ │ │ └── example.py │ │ │ ├── newsfeed │ │ │ │ ├── app.yaml │ │ │ │ ├── facebookclient.py │ │ │ │ ├── static │ │ │ │ │ ├── base.css │ │ │ │ │ ├── favicon.ico │ │ │ │ │ └── robots.txt │ │ │ │ └── templates │ │ │ │ ├── base.html │ │ │ │ ├── home.html │ │ │ │ └── index.html │ │ │ ├── oauth │ │ │ │ ├── app.yaml │ │ │ │ ├── facebookoauth.py │ │ │ │ └── oauth.html │ │ │ └── tornado │ │ │ ├── example.html │ │ │ ├── example.py │ │ │ └── schema.sql │ │ ├── facebook.py │ │ ├── facebook_sdk.egg-info │ │ │ ├── dependency_links.txt │ │ │ ├── PKG-INFO │ │ │ ├── SOURCES.txt │ │ │ └── top_level.txt │ │ ├── MANIFEST.in │ │ ├── README.rst │ │ └── setup.py │ └── pip-delete-this-directory.txt ├── static │ └── js │ └── jquery-1.10.1.min.js ├── templates │ ├── 404.html │ ├── 500.html │ ├── Base.html │ ├── Home.html │ ├── Reoccurring.html │ └── Usersettings.html └── usersetting ├── admin.py ├── __init__.py ├── __init__.pyc ├── models.py ├── models.pyc └── views.py
我的 django.wsgi:
import os import sys sys.path.append('/srv/www/quickerhub.com/') os.environ['PYTHON_EGG_CACHE'] = '/srv/www/quickerhub.com.python-egg' os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
我的 httpd.conf:
WSGIScriptAlias / /www/quickerhub.com/interest/django.wsgi <Directory /srv/www/quickerhub.com> Order allow,deny Allow from all </Directory>
我的網站啟用/quickerhub.com:
WSGIPythonPath /srv/www/quickerhub.com <VirtualHost *:80> ServerName quickerhub.com ServerAlias testing.quickerhub.com Alias /static/ /srv/www/quickerhub.com/interest/static/ # Alias /sitemap.xml /srv/www/quickerhub.com/interest/static/sitemap.xml WSGIScriptAlias / /srv/www/quickerhub.com/interest/django.wsgi <Directory /> AllowOverride None Options -Indexes </Directory> <Directory /srv/www/quickerhub.com/.git/> Deny From All </Directory> </VirtualHost>
請幫忙!謝謝!
該目錄
/srv/www
不存在或 Apache 無法讀取。檢查它的存在和權限(它應該是世界可讀/可執行的)。sudo chmod a+rx /srv/www
您必須重新檢查三件事
- 檢查 httpd.conf 文件中的 mod_wsgi 路徑。使用 find 命令獲取 django.wsgi 的絕對路徑
WSGIScriptAlias / /path/to/mysite/apache/django.wsgi
- 檢查 /srv/www/quickerhub.com 的所有權和權限
- 在 httpd.conf 中添加以下給定語法並重新啟動 apache
<Directory /srv/www/quickerhub.com> Order allow,deny Allow from all </Directory>