Win7下配置web.py(apache+mod_wsgi+MySQLdb)

Win7下配置web.py(apache+mod_wsgi+MySQLdb)

以前在Ubuntu下配置过好几次,很简单。现在却慑于Photoshop的”淫威”,使我不得不回到Windows下工作。不过还好Win7除了开关机慢一点以外,其它都还算是不错。为此我也可以使用更多优秀软件,如:Enterprise Architect等。

言归正传,其实整个配置过程挺简单,没有多复杂,主要是找对版本和方法。

配置环境

  1. Win7 旗舰版 32位
  2. Python 2.7
  3. web.py 0.3.4
  4. Apache 2.2
  5. MySQL 5.1
  6. mod_wsgi py27-3.3
  7. MySQLdb py27-1.2.3

安装Python…

下载Python有些郁闷,因为{你懂的。。。此处省略3500字。。。},所以需要使用IE代理下载。

安装后,你需要检查一下环境变量是否已添加,我安装时不是选择所有用户,所以Path中没有Python的路径,需要我在用户配置中添加了Path。

添加用户配置后,需要注销用户再登录才可以使用Path变量。

安装Apache&MySQL…

我除了需要Python环境以外,还需要PHP环境。安装也没什么特别,网上可以找到很多相关的文章,Google一下吧{PS: Google时好时坏,太杯具了!此处再次省略3500字。。。}。

安装web.py…

从web.py官网上下载0.3.4稳定版,解压后执行:python setup.py install

一般情况下不会有啥问题{PS: 我在安装时错把 writing: xxxxxxx 看成了 warnting: xxxxxxx ,还着实让我紧张了一把}。

OK,测试一下先:

# filename: code.py

import web

urls = (
    '/(.*)', 'hello'
)

app = web.application(urls, globals())

class hello:
    def GET(self, name):
        if not name:
            name = 'World'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

从官网上Copy的,web.py示例代码,运行:python code.py 向世界 say hello!

安装mod_wsgi…

  1. 下载 mod_wsgi: http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so
  2. 将它解压后Copy到你的Apache模块目录中,$APACHE/modules
  3. 修改httpd.conf文件,添加代码 LoadModule wsgi_module modules/mod_wsgi.so # 下载后的文件名是:mod_wsgi-win32-ap22py27-3.3.so 重命名为:mod_wsgi.so 即可。
  4. 重启你的Apache

使用mod_wsgi…

官网上说:mod_wsgi offers many possible ways to expose a WSGI application in Apache’s URL hierarchy, but one simple way would be to add the following to your .htaccess:

<Files code.py>
    SetHandler wsgi-script
    Options ExecCGI FollowSymLinks
</Files>

意思是说:mod_wsgi 有很多配置方法,下面的方法是最简单的,只要在你的 .htaccess 文件里添加以下代码。确实够简单的,呵呵!

使用 mod_wsgi 需要在你的python代码里添加几句代码才可以,拿上面的示例代码为例:

# filename: code.py

import web

urls = (
    '/(.*)', 'hello'
)

app = web.application(urls, globals(), autoreload=False)

class hello:
    def GET(self, name):
        if not name:
            name = 'World'
        return 'Hello, ' + name + '!'

if __name__ == "__main__":
    app.run()

application = app.wsgifunc()

创建一个虚拟主机:

<VirtualHost *:80>
    ServerName your-domain.com
    ServerAlias www.your-domain.com
    DocumentRoot "E:/wwwroot/python/demo/"

    <Directory "E:/wwwroot/python/demo">
        Options FollowSymLinks IncludesNOEXEC Indexes
        AllowOverride all
        Order Deny,Allow
        Allow from all
    </Directory>

    ErrorLog "logs/your-domain-error.log"
    CustomLog "logs/your-domain-access.log" combined

</VirtualHost>

设置本机的hosts,127.0.0.1 www.your-domain.com

访问你的应用:http://www.your-domain.com/code.py/

更多内容请移步:http://webpy.org/install/#apachemodwsgi

安装MySQLdb(mysql_python)…

作者并没有提供win(py2.7)下的.exe安装文件,我使用的是 http://www.codegood.com/archives/129,在此对作者表示感谢!

{PS: 我用setup.py死活装不上去}

OK,import MySQLdb 试下,看看 MySQLdb.__version__ 输出的是否1.2.3?

{OVER}

版权所有,转载请注明出处。
转载自 <a href="http://www.movoin.com/install-webpy-in-win7.html" title="Win7下配置web.py(apache+mod_wsgi+MySQLdb)" rel="bookmark">Win7下配置web.py(apache+mod_wsgi+MySQLdb) | Movoin Studio</a>
Tags: Python , Web.py

Comments are closed.

无觅相关文章插件,快速提升流量