【发布时间】:2015-02-19 23:35:58
【问题描述】:
我为大学做了一个简单的 Django 项目。
现在我想在我自己托管的虚拟服务器上显示它,比如www.myserver.com:8001
我正在使用 Ubuntu 14.04 和 apache2。
在/etc/apache/site-available我有一个名为:uniproject.conf的con文件
<VirtualHost *:8001>
DocumentRoot "/var/www/uniproject/"
Servername www.myserver.com:8001
Alias /static /var/www/uniproject/static/
WSGIScriptAlias / /var/www/uniproject/uniproject.wsgi
<Directory /var/www/uniproject/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在/etc/apache2/ports.conf 我写了Listen 8001
在/var/www/uniproject/uniproject.wsgi
import os
import sys
sys.path = ['/var/www/uniproject'] + sys.path
os.environ['DJANGO_SETTINGS_MODULE'] = 'uniproject.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
在a2ensite uniproject.conf 和service apache2 restart 之后我打电话给www.myserver.com:8001
来了
Not Found
The requested URL / was not found on this server.
我的目标是稍后在我的网站上运行三到五个 django 应用程序/服务器,例如
www.myserver.com:8001,www.myserver.com:8002,www.myserver.com:8003,等等...
但我做错了什么?
我正在使用没有 virtualenv 的 Django 1.7.1
Apache 日志说:
目标 WSGI 脚本未找到或无法统计:/var/www/uniproject,引用者:http://www.myserver.com:8001/
/var/www/uniproject中的文件结构为:
- db3.sqlite
- uniproject
- uniprojectBackend
- uniprojectwsgi
- manage.py
- 静态
- 模板
在/var/www/uniproject/uniproject中是创建新项目时默认的django文件(setting.py、urls.py、wsgi.py、__init__.py)
drwxr-xr-x 7 root root 4096 Dec 21 21:50 uniproject
【问题讨论】:
-
Apache 应该在它的日志中记录一些关于它的内容。如果您在此处复制相关行,那将非常有帮助,因为可能有多种原因。
-
日志条目表明它与端口无关,但找不到uniproject目录。该目录是否存在,具有权限,因此 apache 用户可以看到它?您是否尝试过没有端口的相同设置?
标签: python django apache ubuntu