Win7下配置web.py(apache+mod_wsgi+MySQLdb)
以前在Ubuntu下配置过好几次,很简单。现在却慑于Photoshop的”淫威”,使我不得不回到Windows下工作。不过还好Win7除了开关机慢一点以外,其它都还算是不错。为此我也可以使用更多优秀软件,如:Enterprise Architect等。
言归正传,其实整个配置过程挺简单,没有多复杂,主要是找对版本和方法。
配置环境
- Win7 旗舰版 32位
- Python 2.7
- web.py 0.3.4
- Apache 2.2
- MySQL 5.1
- mod_wsgi py27-3.3
- 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…
- 下载 mod_wsgi: http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so
- 将它解压后Copy到你的Apache模块目录中,$APACHE/modules
- 修改httpd.conf文件,添加代码 LoadModule wsgi_module modules/mod_wsgi.so # 下载后的文件名是:mod_wsgi-win32-ap22py27-3.3.so 重命名为:mod_wsgi.so 即可。
- 重启你的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>
