WIN下,Web.py+apache2.2(mod_wsgi)保证session可用
2012-09-10 17:50
253 查看
刚接触python的轻量级框架web.py,但在使用session时总是无效(现象就是在sessions目录中每次请求都会生成一个新的文件),经过大量的google还是没有找到解决的方案,最后尝试了一下把应用集成到虚拟主机上下面,解决该问题.特分享
1. 下载mod_wsgi.so http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2
下载 http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py26-3.3.so
2. copy mod_wsgi-win32-ap22py26-3.3.so 到 apache/modules目录中
3. 修改apache配置文件httpd.conf 在文件尾部添加
LoadModule wsgi_module modules/mod_wsgi.so
AddType text/html .py
#Include conf/extra/httpd-vhosts.conf -> Include conf/extra/httpd-vhosts.conf
4. 添加虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@xxx.com
DocumentRoot d:/www
ServerName webpy.net
ServerAlias www.webpy.net
WSGIScriptAlias /webpy d:/www/webpy-app/code.py/
Alias /webpy/static d:/www/webpy-app/static/
<Directory d:/www/webpy-app/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
5. code.py源码
import web
import os
web.config.debug = False
urls = (
'/.*', 'hello',
)
app = web.application(urls, globals())
curdir = os.path.dirname(__file__)
session = web.session.Session(app, web.session.DiskStore(curdir + '/'+ 'sessions'),initializer={'count': 0})
class hello:
def GET(self):
session.count += 1
return "Hello, world. count: %d"%session.count
application = app.wsgifunc()
6. 重启apache
7. 在浏览器中输入http://www.webpy.net/webpy/
然后查看计数器
1. 下载mod_wsgi.so http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2
下载 http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py26-3.3.so
2. copy mod_wsgi-win32-ap22py26-3.3.so 到 apache/modules目录中
3. 修改apache配置文件httpd.conf 在文件尾部添加
LoadModule wsgi_module modules/mod_wsgi.so
AddType text/html .py
#Include conf/extra/httpd-vhosts.conf -> Include conf/extra/httpd-vhosts.conf
4. 添加虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@xxx.com
DocumentRoot d:/www
ServerName webpy.net
ServerAlias www.webpy.net
WSGIScriptAlias /webpy d:/www/webpy-app/code.py/
Alias /webpy/static d:/www/webpy-app/static/
<Directory d:/www/webpy-app/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
5. code.py源码
import web
import os
web.config.debug = False
urls = (
'/.*', 'hello',
)
app = web.application(urls, globals())
curdir = os.path.dirname(__file__)
session = web.session.Session(app, web.session.DiskStore(curdir + '/'+ 'sessions'),initializer={'count': 0})
class hello:
def GET(self):
session.count += 1
return "Hello, world. count: %d"%session.count
application = app.wsgifunc()
6. 重启apache
7. 在浏览器中输入http://www.webpy.net/webpy/
然后查看计数器
相关文章推荐
- Web.py Cookbook 简体中文版 - 使用Apache + mod_wsgi部署webpy应用
- Apache mod_wsgi web.py例子
- 在apache上部署web.py项目(python2.7+web.py+mod_wsgi+apache2.2)
- Webpy + Apache with mod_wsgi on Ubuntu http://webpy.org/cookbook/mod_wsgi-apache-ubuntu
- win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
- 搭建Apache+web.py+mod_wsgi python服务器
- WIN, Apache2.2+Django1.6(Python2.7.5)+mod_wsgi 实现网站部署
- Windows环境下使用Apache+mod_wsgi部署webpy
- win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
- Windows环境下使用Apache+mod_wsgi部署webpy
- win+Apache+mod_wsgi配置mapproxy心得(二)
- Django使用Apache2.2通过Mod_wsgi搭建站点服务器
- win7下配置apache + mos_wsgi + web.py服务器
- windows2003+apache2.2+python2.7配置django mod_wsgi
- Apache2.4+mod_wsgi+Flask搭建web站点时的中文unicode问题
- windows下apache+wsgi+web.py环境搭建
- django1.9.1+apache24+mod_wsgi详解(win)
- linux下安装Apache+mod_wsgi+webpy+MySQL+MySQLdb
- win+Apache+mod_wsgi配置mapproxy心得(一)
- windows下apache+wsgi+web.py环境搭建