您的位置:首页 > 运维架构 > Apache

在Windows x64位环境上搭建web.py+apache2.4+wsgi的网站

2016-10-11 12:31 417 查看
0. python, pip和web.py的安装就不说了

1. 安装64位的apache, 64位windows的apache没有官方的编译版本, 可以从第三方编译版本的网站下载:
https://www.apachehaus.com/cgi-bin/download.plx?dli=wYy8GehlXWz0kan9SZWJVWJVlUGRVYSlXUth2d
2. 安装apache服务

用管理员权限启动windows命令行程序, cd到apache24的bin目录, 下面是apache常用的命令:

httpd -k install
httpd -k uninstall
httpd -k start
httpd -k stop


3. wsgi的安装:

可以去著名的python module集成网站下载到wsgi对应apache2.4和py27的版本(mod_wsgi-4.4.23+ap24vc9-cp27-cp27m-win_amd64.whl):
http://www.lfd.uci.edu/~gohlke/pythonlibs/
使用pip安装下载下来的whl包, 然后可以在python的安装目录找到编译好的mod_wsgi.so文件

4. 把mod_wsgi.so复制到apache24的modules目录下

5. 修改apache24的conf目录下的httpd.conf文件

参考文献: http://www.cnblogs.com/rollenholt/archive/2012/08/09/2631068.html

关键部分:

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias /webapp "D:/develop/webapp/index.py/"

Alias /webapp/static "D:/develop/webapp/static/"
AddType text/html .py

<Directory "D:/develop/webapp/">
AllowOverride all
Options Indexes FollowSymLinks  ExecCGI
Order allow,deny
SetHandler wsgi-script
Allow from all
</Directory>


6. 修正web.py主文件

参加:http://webpy.org/cookbook/mod_wsgi-apache

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


7. 调试

访问数据库权限:

办法有二: 

数据库连接字符串中注明User ID 和 Password

在windows的服务中配置服务以某个帐号启动

静态文件夹的配置:

<IfModule alias_module>
....
Alias /static/ "D:/tmp-program/Data Vertifier/Data Vertifier/static/"
</IfModule>

<Directory "D:/tmp-program/Data Vertifier/Data Vertifier/static/">
Require all granted
Options -ExecCGI
SetHandler None
</Directory>


web.py报Template文件无法找到:

在web.py中指明Template的全路径

python import问题:

import sys
daolib = "D:\\tmp-program\\Data Vertifier\\Data Vertifier\\"
if not daolib in sys.path:
sys.path.insert(0, daolib)在web.py入口文件最开始加入上面这段, 把项目的根目录添加到sys.path中去, 比如根目录中有一个子目录叫DAO, DAO中有个类叫Adao, python文件引用这个类时就写成:
import DAO.Adao
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: