win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
来源:互联网 发布:r语言与matlab 大数据 编辑:程序博客网 时间:2024/06/05 00:53
win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
准备条件
1、Apache 2.2
2、python 2.7 及 匹配的mod_wsgi-win32-ap22py27-3.3.so (提示:python 2.7及对应的mod_wsgi_win32下载)
http://download.csdn.net/download/zm2714/4579593
将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
版权声明:本文为博主原创文章,未经博主允许不得转载。
================================================
WSGIScriptAlias /app "E:/Py_workspace/Py_test1/src/0709/Django_test/mysite/mysite/wsgi.py"
http://localhost/app/
如果不能访问 500错误。
请查看apache 错误日志 apache_error.log 如果提示 ImportError: No module named web
[Tue Oct 20 23:31:04 2015] [error] [client 127.0.0.1] mod_wsgi (pid=8916): Target WSGI script 'D:/wamp/apps/taobaologin/main.py' cannot be loaded as Python module.
[Tue Oct 20 23:31:04 2015] [error] [client 127.0.0.1] mod_wsgi (pid=8916): Exception occurred processing WSGI script 'D:/wamp/apps/taobaologin/main.py'.
[Tue Oct 20 23:31:04 2015] [error] [client 127.0.0.1] Traceback (most recent call last):
[Tue Oct 20 23:31:04 2015] [error] [client 127.0.0.1] File "D:/wamp/apps/taobaologin/main.py", line 6, in <module>
[Tue Oct 20 23:31:04 2015] [error] [client 127.0.0.1] import web
[Tue Oct 20 23:31:04 2015] [error] [client 127.0.0.1] ImportError: No module named web
Python-Web运行环境搭建中遇到的问题-(ImportError: No module named setuptools)
系统是Win7 ,已安装Python,在安装Django的时候遇到以下错误信息:ImportError: No module named setuptools
因为Windows环境下Python默认是没有安装setuptools这个模块的,这也是一个第三方模块
那么就 Install Setuptools
版权声明:本文为博主原创文章,未经博主允许不得转载。
- win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
- win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
- 在apache上部署web.py项目(python2.7+web.py+mod_wsgi+apache2.2)
- WIN, Apache2.2+Django1.6(Python2.7.5)+mod_wsgi 实现网站部署
- Apache+mod_wsgi部署python程序
- 用Apache+mod_wsgi部署python程序
- 用Apache+mod_wsgi部署python程序
- windows2003+apache2.2+python2.7配置django mod_wsgi
- 使用Apache+mod_wsgi部署webpy等python程序
- Apache2.4配置mod_wsgi,部署python应用
- Win下python+Pydev+Django+apache+mod_wsgi开发部署配置记录
- flask部署:Apache+mod_wsgi+python+virtualenv
- python&Django&mariadb&Apache&mod_wsgi 环境部署
- windows下安装apache2.2 + python2.7 + django(mod_wsgi集成)
- windows下安装apache2.2 + python2.7 + django(mod_wsgi集成)
- window下面 用mod_wsgi集成apache2.2+django1.8+python2.7环境
- Debian+Django1.11+Apache2.4+mod_wsgi+python2.7搭建服务器
- WIN下,Web.py+apache2.2(mod_wsgi)保证session可用
- ZOJ.2952 Find All M^N Please【数学】 2015/10/20
- android自定义状态栏颜色
- 《shell从入门到精通》笔记
- jquery动态网格瀑布流插件Wookmark
- BaseAdapter......
- win+Apache+mod_wsgi部署python程序-apache2.2+python2.7
- json知识点总结(解析与序列化)
- 预处理指令(神秘的include#)
- LeetCode-Excel Sheet Column Title
- 虚拟机中 Linux下I cannot start the X server的问题
- 圆柱的自动旋转
- pycharm调用远程虚拟环境的设置
- Android中的样式
- Android Wear Eclipse开发环境搭建