我有以下问题,因为我正在尝试使用apache设置Django:
$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2
[Wed Mar 07 03:21:17 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
... waiting [Wed Mar 07 03:21:18 2012] [warn] NameVirtualHost *:80 has no VirtualHosts
...done.
任何可能导致此问题的想法?
以下是sites-available
文件的内容:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@website.com
ServerName www.website.com
ServerAlias website.com
Alias /static /home/website/store/static
DocumentRoot /home/website/store
WSGIScriptAlias / /home/website/store/apache/django.wsgi
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
这里还有wsgi文件:
import os, sys
#path to directory of the .wsgi file ('apache/')
wsgi_dir= os.path.abspath(os.path.dirname(__file__))
#path to project root directory (parent of 'apache/')
project_dir=os.path.dirname(wsgi_dir)
#add project directory to system's PATH
sys.path.append(project_dir)
project_settings=os.path.join(project_dir,'settings')
os.envision['DJANGO_SETTINGS_MODULE']='store.settings'
import django.core.handlers.wsgi
application=django.core.handlers.wsgi.WSGIHandler()
答案 0 :(得分:0)
此错误与Apache有关,与django无关。
如果您正在进行开发,则不需要apache。根据您的需要使用built in development server。
由于您使用的是基于debian的系统,请参阅this article,其中解释了在debian上设置多个主机的正确方法(如果您使用其他基于debian的系统(如各种ubuntu风格),则相同)。如果您想了解有关虚拟主机的更多信息(无论如何都应该阅读),virtual host documentation有很多例子。
答案 1 :(得分:0)
从内存中,这是由于Apache配置中的多个位置具有相同值的NameVirtualHost引起的。通常,您不会在sites-available目录中的站点文件中使用该指令,就像在Apache配置的单独部分中已经存在端口80一样。