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

来源:互联网 发布:php分页代码实例 编辑:程序博客网 时间:2024/05/24 02:02
一  安装python-2.7

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

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

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

二  安装django-1.3

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

  2  接下来要创建一个django项目.apache和mysql的配置还得在这个项目的文件中进行.django提供了django-admin.py这个文件让你方便的创建一个"空白"项目.很简单,随便创建一个文件夹作为你的项目根目录.cd进入这个目录,输入django-admin.pystartprojectmysite即可,这将在你提供的项目根目录下创建一个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_modulemodules/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/"
   
  Order deny,allow    
  Allow from all
 
# 设置django admin静态资源的访问路径
Alias /media/"H:\Program\python\2.7\Lib\site-packages\django\contrib\admin\media\"
   
  Order deny,allow    
  Allow from all
 
# 设置root,不要使用"^/"
WSGIScriptAlias /"H:/project/django/mysite/apache/django.wsgi"
    Order deny,allow
    Allow from all
注意把以上内容中的所有路径替换为你自己的.

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

import os
import sys
 
#Calculate the path based on the location of the WSGIscript.
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\MySQLServer项,然后填上对应的值(版本号,安装位置等).

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Server]

"DataLocation"="D:\Documents and Settings\AllUsers\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\\MySQLConnector C 6.0.2\\lib\\opt" ]
    libraries = ['kernel32', 'advapi32', 'wsock32', client ]
    include_dirs = [os.path.join(mysql_root, r'include'), "H:\\Program\\MySQL\\MySQLConnector 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.pyinstall即可安装.

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

      import MySQLdb