【发布时间】:2025-12-11 12:15:01
【问题描述】:
我第一次尝试在Ubuntu 12.04 VM 上使用mod_wsgi 和Apache 部署一个Django 应用程序。我一直在关注几个教程,尤其是Ayman Farhat blog,这个excellent YouTube video,当然还有官方的 Django 文档
这是在earlier question I posted here 之后,想知道为什么我的 Django 调查在我将其上传到 /var/www/ 时并不能正常工作(脸红!)我一直在根据答案调查mod_wsgi。
我不确定我错过了什么阶段。该项目能够通过python manage.py runserver 在服务器上启动而没有错误。我还运行了python manage.py collectstatic,没有任何错误。
然后我用
重新启动Apachesudo service apache2 restart
但是,当我转到 URL http://phaedrus.scss.tcd.ie/bias_experiment/surveythree/ 时,我希望看到调查,那里什么也没有。我只看到标准的 404 错误。
我真的不知道接下来我要做什么或为什么这不起作用。
以下是我的设置以及到目前为止我尝试过的内容。
注意:我有一个在 Pydev 中创建的 Bias_Experiment Django 项目。它在src 文件夹中包含三个应用程序。
- 调查(我的工作项目)
- 民意调查(我正在关注的教程)
- bias_experiment(带有我的设置文件等的根应用程序)
我的项目结构
我的虚拟主机位于/etc/apache2/sites-available/bias_experiment
<VirtualHost *:80>
ServerAdmin admin@email.com
ServerName kdeg-vm-18.scss.tcd.ie
ServerAlias http://collegeserver.ie/bias_experiment
WSGIScriptAlias / var/www/bias_experiment/src/bias_experiment/index.wsgi
Alias /static/ /var/www/bias_experiment/src/bias_experiment/static/
<Location "/static/">
Options -Indexes
</Location >
</VirtualHost >
我的 WSGI 文件位于/var/www/bias_experiment/src/bias_experiment/index.wsgi
import os
import sys
import site
# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('~/var/www/bias_experiment/lib/python2.7/site-packages')
# Add the app's directory to the PYTHONPATH
sys.path.append('/var/www/bias_experiment')
sys.path.append('/var/www/bias_experiment/src/bias_experiment')
os.environ['DJANGO_SETTINGS_MODULE'] = 'bias_experiment/src/bias_experiment.settings'
# Activate your virtual env
activate_env=os.path.expanduser("~/var/www/bias_experiment/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我的网址格式来自bias_experiment/src/bias_experiment/urls.py
urlpatterns = patterns('',
url(r'^polls/', include('polls.urls', namespace="polls")),
url(r'^admin/', include(admin.site.urls)),
url(r'^surveythree/$', SurveyWizard.as_view([SurveyForm1, SurveyForm2, SurveyForm3, SurveyForm4, SurveyForm5])),
)
【问题讨论】:
标签: django apache python-2.7 mod-wsgi