django apache mod_wsgi配置

前言

Django是一个开放源代码的Web应用框架,像一个工具箱,包括了整个web开发中的各种技术,例如ORM,Template等。

Apache是一个web服务器,主要有两个作用:

1.解析网页语言,如HTML,PHP,JSP等;2.接收web用户请求,并给予一点的响应。

wsgi是Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。 在此接口中有两个方面,一个web应用程序类比java中的war包,一个是web服务器类比tomcat,apache。在这里我们只关注web应用程序。

apache+mod_wsigi安装

在电脑上已安装Python2.7+MySQL+Django1.6,下面是Apache和mod_wsgi的配置

  1.  安装apache.我用的版本为:httpd-2.2.17-win32-x86-openssl-0.9.8o.msi.假定安装到c:\apache.
  2.   a) 下载mod_wsgi(官网给的是源码).这里给一个已经编译好的mod_wsgi.so文件. 

     b) 下载的文件为:mod_wsgi-win32-ap22py26-3.3.so.接下来就对这个文件进行一些配置.将该文件复制到apache安装目录下的modules目录.apache与各种框架,工具的接口都放在这了.

     c) 配置apache\conf目录下的httpd.conf文件.添加以下内容到文件中:

        LoadModule wsgi_module modules/mod_wsgi-win32-ap22py26-3.3.so

          httpd.conf文件有个位置专门LoadModule.喜欢整齐的话就添加到那里吧.

     
  3. apache目前已经知道mod_wsgi的存在了.接下来在我们刚创建的项目(mysite)中进行一些配置,让django项目知道apache的存在.

      在mysite目录中建一个apache目录,在里边创建2个文件apache_django_wsgi.conf,django.wsgi.

      a) apache_django_wsgi.conf文件中添加以下内容.(其实这些内容可以直接写在前面的httpd.conf文件里)

# "H:/project/django/mysite/"也就是settings.py的所在目录 
# 设置static静态资源的访问路径
Alias /static/ "H:/project/django/mysite/media/"
<Directory "H:/project/django/mysite/media">    
  Order deny,allow    
  Allow from all
</Directory> 
# 设置django admin静态资源的访问路径
Alias /media/ "H:\Program\python\2.6\Lib\site-packages\django\contrib\admin\media\"
<Directory  "H:\Program\python\2.6\Lib\site-packages\django\contrib\admin">    
  Order deny,allow    
  Allow from all
</Directory> 
# 设置root,不要使用"^/"
WSGIScriptAlias / "H:/project/django/mysite/apache/django.wsgi"
<Directory "H:/project/django/mysite/apache">
    Order deny,allow
    Allow from all
</Directory>

注意把以上内容中的所有路径替换为你自己的.注意英文格式的空格

      b) django.wsgi文件中添加以下内容.

import os
import sys
 
#Calculate the path based on the location of the WSGI script.
apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace) 

 
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

注意mysite是项目名字.如果你用了别的项目名字,记得替换掉.

      c) 回到apache安装目录中的httpd.conf文件,在末尾添加:

Include "H:/project/django/mysite/apache/apache_django_wsgi.conf"

意思其实就是包含apache_django_wsgi.conf文件的内容.同样记得替换为你自己的路径.重启apache.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值