Django和apache2重新启动

时间:2012-03-07 03:24:37

标签: python django apache2 virtualhost

我有以下问题,因为我正在尝试使用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()

2 个答案:

答案 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一样。