window下面 用mod_wsgi集成apache2.2+django1.8+python2.7环境

来源:互联网 发布:鞋erp软件xyerp 编辑:程序博客网 时间:2024/05/21 17:11

版本 mod_wsgi 3.3  下载地址:https://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so

python 2.7

django1.8

apache2.2 可以在官网下载;

首先 安装python、django、 apache(这就不一一叙述怎么安装了)


1、下面主要说说apache(D:\apache)和django项目怎么用mod_wsgi集成的

        1、先把下载的文件为mod_wsgi-win32-ap22py26-3.3.so(可改一下名字:mod_wsgi)。.将该文件复制到apache安装目录下的modules目录.apache与各种框架,工具的接口都放在这了.

放在这里后要告诉apache的配置文件httpd.conf。只需要httpd.conf在文件最后加一行:LoadModule wsgi_module modules/mod_wsgi-win32-ap22py26-3.3.so(如改了文件名字这里也需要改)。如果mod_wsgi版本不是支持你的python/apache的版本。那么apache启动不了的

        2、在你的django项目下面  我的项目路径是:D:\pyProject\mytest , 建立一个文件夹apache,里面添加2个文件:apache_django_wsgi.conf(site的配置文件)和django.wsgi(wsgi脚本)

apache_django_wsgi.conf 的内容如下:

WSGIScriptAlias / "d:/pyProject/mytest/apache/django.wsgi"
<Directory "d:/pyProject/mytest/apache">
Allow from all
</Directory>

<VirtualHost *:80>
    DocumentRoot d:/pyProject/mytest
    ServerName 127.0.0.1
</VirtualHost>

django.wsgi的内容如下:

import os, sys
sys.path.append('d:/pyProject/mytest')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mytest.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

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

Include "D:/pyProject/mytest/apache/apache_django_wsgi.conf"

这里需要解释一下,'mytest.settings' 中 mytest是我的Django项目名,请注意自己的路径

配好了:那么如下图:



     4、Apache能启动之后,可以用下面的test.wsgi脚本来测试mod_wsgi是否work,(注意必须更改apache_django_wsgi.conf中WSGIScriptAlias 的wsgi脚本到test.wsgi,测试完成后改回django.wsgi,每次改动都需要重启Apache)

test.wsgi 内容如下:

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

如果输出Hello World! 就表明wsgi配置KO了。如果换成django.wsgi报错:则是你的django.wsgi 的路径问题。请多看看 apache下面的error.log日志。。





0 0