win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
2012-09-19 11:28
696 查看
准备条件
1、Apache 2.2
2、python 2.7 及 匹配的mod_wsgi-win32-ap22py27-3.3.so (提示:python 2.7及对应的mod_wsgi_win32下载)
将mod_wsgi-win32-ap22py27-3.3.so更名为:mod_wsgi.so,存放到:apache2/modules目录下
二、编辑httpd.conf文件
1、添加以下代码
如果要在某个虚拟主机上启用python+wsgi支持,只需要在vhosts的配置文件中加入
其中D:/php/WWW/main.py就是提供wsgi的主程序。当然,一般程序都有静态文件支持,所以,您可能需要对某个目录下的文件跳过处理,如下
如此即可。最后加上目录设置即可,对于上面的例子,完整的虚拟主机配置如下:
这样就配置好了此站点的mod_wsgi支持.那么对于python程序,应该如何使用这样的配置工作呢?下面我们以webpy为例,考虑实际部署一个测试程序,对于webpy,官方给出了wsgi的配置例子,具体参考:http://webpy.org/cookbook/mod_wsgi-apache/zh-cn,在本文中,我们参考之后,实际的main.py内容如下:
由于web程序中会经常用到session,因此我们将session也加入到了程序中,具体存储路径在sessions目录下。通过WEB访问,如果为下图所示,则说明配置成功。
httpd.conf文件的修改
在httpd.conf末尾添加
项目静态文件的访问配置
一般程序都有静态文件支持,所以,您可能需要对某个目录下的文件跳过处理。httpd.conf中添加如下设置
来源:http://webpy.org/cookbook/mod_wsgi-apache.zh-cn
1、Apache 2.2
2、python 2.7 及 匹配的mod_wsgi-win32-ap22py27-3.3.so (提示:python 2.7及对应的mod_wsgi_win32下载)
将mod_wsgi-win32-ap22py27-3.3.so更名为:mod_wsgi.so,存放到:apache2/modules目录下
二、编辑httpd.conf文件
1、添加以下代码
LoadModule wsgi_module modules/mod_wsgi.so AddType text/html .py
如果要在某个虚拟主机上启用python+wsgi支持,只需要在vhosts的配置文件中加入
WSGIScriptAlias / D:/php/WWW/main.py/
其中D:/php/WWW/main.py就是提供wsgi的主程序。当然,一般程序都有静态文件支持,所以,您可能需要对某个目录下的文件跳过处理,如下
Alias /static d:/php/www/static/
如此即可。最后加上目录设置即可,对于上面的例子,完整的虚拟主机配置如下:
ServerAdmin admin@xxx.com DocumentRoot D:/php/WWW ServerName xxx.com ServerAlias www.xxx.com WSGIScriptAlias / D:/php/WWW/main.py/ Alias /static D:/php/WWW/static/ AddType text/html .py ErrorLog D:/php/WWW/log/httpd/xxx_error.log #CustomLog "|/usr/bin/cronolog /var/log/httpd/xxx_access_%Y%m%d.log" custom1 Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all
这样就配置好了此站点的mod_wsgi支持.那么对于python程序,应该如何使用这样的配置工作呢?下面我们以webpy为例,考虑实际部署一个测试程序,对于webpy,官方给出了wsgi的配置例子,具体参考:http://webpy.org/cookbook/mod_wsgi-apache/zh-cn,在本文中,我们参考之后,实际的main.py内容如下:
import os import sys path = os.path.dirname(os.path.realpath(__file__)) sys.path.append(path) sys.path.append('D:/php/WWW') import web urls = ( '/', 'index' ) class index: def GET(self): return "Hello, I am Leven." app = web.application(urls, globals()) curdir = os.path.dirname(__file__) session = web.session.Session(app, web.session.DiskStore(curdir + '/' + 'sessions'),) def session_hook(): web.ctx.session = session app.add_processor(web.loadhook(session_hook)) application = app.wsgifunc()
由于web程序中会经常用到session,因此我们将session也加入到了程序中,具体存储路径在sessions目录下。通过WEB访问,如果为下图所示,则说明配置成功。
相关参考
httpd.conf文件的修改在httpd.conf末尾添加
项目静态文件的访问配置
WSGIScriptAlias / "E:/Py_workspace/Py_test1/src/0709/Django_test/mysite/mysite/wsgi.py"(wsgi.py在项目中的路径) WSGIPythonPath "E:/Py_workspace/Py_test1/src/0709/Django_test/mysite"(项目路径) <Directory "E:/Py_workspace/Py_test1/src/0709/Django_test/mysite/mysite"> <Files wsgi.py> Order allow,deny Allow from all </Files> </Directory>
一般程序都有静态文件支持,所以,您可能需要对某个目录下的文件跳过处理。httpd.conf中添加如下设置
Alias /static/ "E:/Py_workspace/Py_test1/src/0709/Django_test/mysite/static/" <Directory "E:/Py_workspace/Py_test1/src/0709/Django_test/mysite/static"> Order deny,allow Allow from all </Directory>
来源:http://webpy.org/cookbook/mod_wsgi-apache.zh-cn
相关文章推荐
- win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
- WIN, Apache2.2+Django1.6(Python2.7.5)+mod_wsgi 实现网站部署
- Win下python+Pydev+Django+apache+mod_wsgi开发部署配置记录
- 在apache上部署web.py项目(python2.7+web.py+mod_wsgi+apache2.2)
- Python2.7 Django1.8 CentOS7 Apache2.4 mod_wsgi4.4.21 环境下部署
- windows2003+apache2.2+python2.7配置django mod_wsgi
- windows下安装apache2.2 + python2.7 + django(mod_wsgi集成)
- Apache+mod_wsgi部署python程序
- 使用Apache+mod_wsgi部署webpy等python程序
- WIN下,Web.py+apache2.2(mod_wsgi)保证session可用
- 用Apache+mod_wsgi部署python程序 作者:leven | 日期2010-11-29 00:09:37
- Apache2.4配置mod_wsgi,部署python应用
- python&Django&mariadb&Apache&mod_wsgi 环境部署
- Linux+Django+Python+Wsgi配置过程 Linux下配置Apache+Mod_Wsgi+Django环境 部署django项目
- win8下httpd2.2-64bit,mod_wsgi,python2.7 配置运行环境攻略
- 用Apache+mod_wsgi部署python程序
- 用Apache+mod_wsgi部署python程序
- 在window上部署python Django项目 采用apache+mod_wsgi方案
- Apache2.2+python2.7+mod_python安装与配置
- 最新版windows 2012R2、Apache24、mod_wsgi、Django1.9、python3.4项目部署(生产环境)