服务器技术

 首页 > 服务器技术 > apache > Windows下Django配置Apache示范设置|配置-Apache教程

Windows下Django配置Apache示范设置|配置-Apache教程

分享到:
【字体:
导读:
          ...

继续阅读之前,我们假设您熟悉以下知识:

n         Python

n         Django

n         apache

如果不熟悉这些知识点,可以看本文最后资源列表中的文章。

本文讨论了在Windows环境下,将Django配置到Apache Web Server时所遇到的问题,以及最终解决的示范步骤。

 您可以遵循后文描述的配置步骤,在此之前,我们先描述两个常见的错误现象。

[常见错误现象1]
关键词:      client denied by server configuration。

表象:          访问了http://localhost:80/mysite/ 后,假如发现图片没有加载,或者Css没有应用上,并且httpd.conf文件中Location的配置绝对路径肯定没错。

 解释:         

第一,   首先检查httpd.conf配置Alias的配置,

看看Alias设置的路径是否正确,

Alias /site_media c:/django/myproject/media

请保证您附加的这个路径肯定是你的图片或者css存放的路径。

其次,请检查您的django项目myproject目录下的settings.py,保证MEDIA_ROOT、STATIC_PATH、TEMPLATE_DIRS这三个参数指向的绝对路径正确无误。

最后,如果上面的参数都没错,却还是不行。那么请您检查Apache的日志文件

Apache2.2logserror.log

如果您发现有这样的错误提示:

错误日志
 
[Mon Nov 20 17:27:08 2006] [notice] Child 4172: Starting thread to listen on port 80.

[Mon Nov 20 17:27:08 2006] [error] [client 127.0.0.1] client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http://localhost:80/mysite/
 那么说明是因为对这些资源文件的访问被拒绝了。

此时,请您浏览 http://localhost:80/site_media/css/global.css ,如果遇到了HTTP 403错误,就说明是权限问题。

此时,请到httpd.conf,增加如下配置来允许静态资源文件夹被访问:

增加的配置行
 
# 对需要访问的区域,可以增加正确的Directory块

# 否则会得到这样的错误:client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http:/ /localhost:80/mysite/

Order Deny,Allow

Allow from all


 

重启Apache服务。

 [常见错误现象2]
关键词:      EnvironmentError: Could not import settings。

表象:          访问了http://localhost:80/mysite/ 后,直接页面报告如下错误:

页面错误输出
 
1.     Mod_python error: “PythonHandler django.core.handlers.modpython”

Traceback (most recent call last):

File “C:Python24Libsite-packagesmod_pythonapache.py”, line 299, in HandlerDispatch
result = object(req)

File “c:django_srcdjangocorehandlersmodpython.py”, line 163, in handler
return ModPythonHandler()(req)

File “c:django_srcdjangocorehandlersmodpython.py”, line 125, in __call__
if settings.ENABLE_photoshop/ target=_blank class=infotextkey>psYCO:

File “c:django_srcdjangoconf__init__.py”, line 27, in __getattr__
self._import_settings()

File “c:django_srcdjangoconf__init__.py”, line 54, in _import_settings
self._target = Settings(settings_module)

File “c:django_srcdjangoconf__init__.py”, line 82, in __init__
raise EnvironmentError, “Could not import settings ‘%s’ (Is it on sys.path? Does it have syntax errors?): %s” % (self.SETTINGS_MODULE, e)

EnvironmentError: Could not import settings ‘myproject.settings’ (Is it on sys.path? Does it have syntax errors?): No module named myproject.settings

 这是开始配置django+apache最容易遇到的问题,:D。

 解释:

这是因为apache在系统目录下找不到myproject/settings.py文件。

《Windows下Django配置Apache示范设置》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/18069.html

分享到:
Apache服务器系统设置与优化[2]|服务器-A...
ServerSignature On   一些情况下,例如当客户请求的网页并不存在时,服务器将产生错误文档,缺省情况下由于打开了 ServerSignature选项,错误文档的最后一行将包含服务器的名字、apache的版本等信息。有的管理员更倾向于不对外显示这些信息,就可以将这个参数设置为Off,或者设置为Email,最后一行将替换为对 ServerAdmi...
Apache的prefork模式和worker模式|进程-A...
prefork模式 这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。 这个MPM具有很强的自我调节能力,只需要很少的配置指令...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……