饭后温柔

汉堡与老干妈同嚼 有可乐味
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

windows+apache+mysql+django+mod_wsgi安装

Posted on 2011-03-04 16:31  饭后温柔  阅读(6867)  评论(0编辑  收藏  举报

  windows上搭建apache+mysql+django的过程.

一  安装python-2.6.5

  安装python后,最好能把以下几个目录的路径添加到windows的环境变量中.

  1  python2.6.5的安装目录, 如c:\python.一些工具及教程会直接使用命令行中的python命令.不把python的安装路径添加到环境变量中可能会遇到困惑.

  2  python安装目录下的scripts目录.如c:\python\scripts.可能django的django-admin.py文件及python的包安装工具easy_install.exe会放在这个目录下.

二  安装django-1.2.5

  1  下载好django的压缩包后,你会看到目录下有个setup.py文件.cmd命令进入dos窗口,cd进入setup.py所在的目录.执行python setup.py install即可.其实就是复制django到你的python安装目录下的Lib\site-packages\django中.

  2  接下来要创建一个django项目.apache和mysql的配置还得在这个项目的文件中进行.django提供了django-admin.py这个文件让你方便的创建一个"空白"项目.很简单,随便创建一个文件夹作为你的项目根目录.cd进入这个目录,输入django-admin.py startproject mysite即可,这将在你提供的项目根目录下创建一个mysite文件夹.mysite为你起的项目名字.

      提示:以上2步如果你未把python, python\scripts添加到环境变量中,会出现"...不是内部命令..."的错误提示.

三  apache+mod_wsigi安装.

  django与apache的接口使用mod_wsgi,官方目前所推荐.

  也可以使用mod_python,因为该包作者已经停止更新,今后的django版本将不再支持它.

  1  安装apache.我用的版本为:httpd-2.2.17-win32-x86-openssl-0.9.8o.msi.假定安装到c:\apache.

  2  a) 下载mod_wsgi(官网给的是源码).这里给一个已经编译好的mod_wsgi.so文件.

       http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py26-3.3.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.

四  mysql+mysql_python的安装

  1  a) 安装mysql.我安装的版本是msi的版本(mysql-5.5.9-win32.msi).如果你使用zip版本安装,将不会在注册表里建立与mysql相关的表项,而mysql_python的安装需要搜索注册表里的相关表项(我也很晕为什么它这么做).所以一定要使用zip解压版的同学, 记得自己建立一个reg文件,在HKEY_LOCAL_MACHINE\SOFTWARE下建立MySQL AB\MySQL Server项,然后填上对应的值(版本号,安装位置等).

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Server]

"DataLocation"="D:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\"
"Location"="H:\Program\MySQL\MySQL Server 5.5\"
"Version"="5.5.9"

    双击该reg文件即可.既然使用zip安装,相信你应该知道如何替换上边的内容为你自己的值.

    b) 下载mysql-connector-c-6.0.2-win32.msi.这个是mysql在c语言环境中的sdk开发包.安装.

  2  安装mysql_python很痛苦,本来就不是特别为windows准备的,忍着吧.我是参考这篇文章(英文)来的:

      http://www.fuyun.org/2009/12/install-mysql-for-python-on-windows/

      a) 下载MySQL-python-1.2.3.tar.gz文件.解压到某个目录.假设为c:\MySQL-python-1.2.3.

      b) 进入cmd窗口,cd命令进入MySQL-python-1.2.3目录,执行:

      python ez_setup.py

      将安装easy_install到python\scripts中.接下来可用easy_install这个工具自动安装.执行

      easy_install "MySQL-python=1.2.3"

      我实际安装过程中没有使用上述命令.而是执行了

             setup.py biuld

             接着就悲惨的跳出一堆错误.以下是相关的修改(easy_install "MySQL-python=1.2.3"应该也会遇到这些错误).主要是关于文件路径,解析错误,注册表的.

      c) 修改site.cfg文件.将

registry_key = SOFTWARE\MySQL AB\MySQL Server 5.5

      修改为你自己的版本号.如果registry_key前有#号注释,记得去掉.

      d) 修改setup_windows.py中的内容.

library_dirs = [ os.path.join(mysql_root, r'lib\opt'),"H:\\Program\\MySQL\\MySQL Connector C 6.0.2\\lib\\opt" ]
libraries
= [ 'kernel32', 'advapi32', 'wsock32', client ]
include_dirs
= [ os.path.join(mysql_root, r'include'), "H:\\Program\\MySQL\\MySQL Connector C 6.0.2\\include" ]

      就是修改library_dirs及include_dirs,记得替换为你自己的路径.这里实际上是添加mysql的c语言sdk的头文件及库.根据sdk版本不同,文件目录结构可能不同,自己注意了.

      e) 修改setup_common.py中的内容.

config.read([os.path.dirname(__file__)+'\\metadata.cfg', os.path.dirname(__file__)+'\\site.cfg'])

      找到config.read所在一行,修改如上.

      f) 去到python的安装目录,在Lib\distutils下找到msvc9compiler.py文件,搜索到

      ld_args.append(‘/MANIFESTFILE:’ + temp_manifest)所在行.在该行后添加一行:

      ld_args.append(‘/MANIFEST’)

      自己注意python中的缩进.

       g) 执行setup.py install即可安装.

  3  测试,执行以下python脚本如无错误提示即可.

      import MySQLdb