Apache + mod_wsgi部署webpy应用

引用:http://webpy.org/cookbook/mod_wsgi-apache.zh-cn

下面的步骤在Apache-2.2.3 (Red Hat Enterprise Linux 5.2, x86_64),mod_wsgi-2.0中测试通过。(译者注:本人在Windows2003 + Apache-2.2.15 + mod_wsgi-3.0也测试通过)

注意:

  • 您可以使用您自己的项目名称替换’appname’。
  • 您可以使用您自己的文件名称替换’code.py’。
  • /var/www/webpy-app 为包含您的code.py的文件夹目录路径。
  • /var/www/webpy-app/code.py 是您的python文件的完整路径。

步骤:

  • 下载和安装mod_wsgi从它的网站:

http://code.google.com/p/modwsgi/. 它将安装一个’.so’的模块到您的apache 模块文件夹,例如:

/usr/lib64/httpd/modules/

(如果谷歌访问不了,可以安装mod_wsgi(yum install mod_wsgi))

  • 在httpd.conf中配置Apache 加载 mod_wsgi模块和您的项目:

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias /appname /var/www/webpy-app/code.py/

Alias /appname/static /var/www/webpy-app/static/

AddType text/html .py

<Directory /var/www/webpy-app/>

Order deny,allow

Allow from all

</Directory>

  • 演示文件 ‘code.py’:

import web urls = (

‘/.*‘, ‘hello‘,

)

class hello:

def GET(self):

return "Hello, world."

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

在您的浏览器地址栏中输入’ http://your_server_name/appname’ 来验证它是否可用。

#注意: mod_wsgi + sessions

如果您需要在mod_wsgi中使用sessions,您可以改变您的代码如下:

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

curdir = os.path.dirname(__file__)

session = web.session.Session(app, web.session.DiskStore(curdir + ‘/‘ + ‘sessions‘),)

application = app.wsgifunc()

#mod_wsgi 性能: 有关mod_wsgi的性能,请参考mod_wsgi的维基页: http://code.google.com/p/modwsgi/wiki/PerformanceEstimates

原文地址:https://www.cnblogs.com/lihuanhuan/p/9902415.html

时间: 2024-10-11 08:46:00

Apache + mod_wsgi部署webpy应用的相关文章

apache mod_wsgi 部署django项目后连接不上mysql

问题描述 做好的django项目,使用python manage.py runserver 可以正常work. 然而当将项目使用mod_wsgi部署到apache上之后却不能连接mysql.一直报错:"Internal Server Error",查看日志信息,除了"Can't connect mysql"还是连不上mysql. 追踪问题 django测试 分别在debug模式以及debug off模式下运行项目,无任何异常,足以证明项目自身配置没任何错误. Pyt

利用mod_wsgi部署Django应用

利用mod_wsgi部署Django应用 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Django是一个免费.开源.基于Python的Web开发框架.Django框架遵循MVC架构模式,以快速创建Web应用为目标.目前,Django框架已成为创建Web应用的主要选择之一.比如流行的Instagram服务.Bitbucket服务和Pinterest服务等都使用了Django框架开发. 在开发模式下,Django自带了一个开发服务器

Ubuntu上用mod_wsgi部署Django出现的一些问题

1 编码问题 直接运行Django没问题,但通过Apache+mod_wsgi上传中文字符的文件时出错: UnicodeEncodeError: 'ascii' codec can't encode characters in position... 解决办法:修改 /etc/apache2/envvars ,然后重启Apache即可 export LANG='zh_CH.UTF-8' export LANG_ALL='zh_CH.UTF-8' 2 权限问题 PermissionError: [

linux+django+apache+mod_wsgi+eclipse+python2.7 环境的搭建

首先,说明下环境: linux:fedora14: IDE:eclipse: python:python2.7 python框架:django web服务器:apache web服务器的python模块:mod_wsgi 写在前面: 之前用的windows下面的xampp,写的php后台,现在想转向linux下面的python,跟以前一样,选择apache和eclipse作为自己的开发工具. eclipse的python配置, 参见之前的博客:http://blog.csdn.net/zy416

Apache安装部署

1.Apache介绍 Apache是世界使用排名第一的Web服务器软件,可以运行在几乎所有广泛使用的计算机平台上,阿帕奇是北美印第安人的一个部落,在美国的西南部.也是一个基金会的名称 API扩展,将Perl/Python等解释器编译到服务器中 Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用.可以支持SSL技术,支持多个虚拟主机.Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器 2

apache快速部署网页

几个月前研究了下apache2的架构与部署,时隔那么长时间发现居然全忘了,不得不重新来一遍,写一片日志方便以后查阅. 首先我用的是ubuntu系统,不为别的,光是它方便的软件安装与卸载过程就令你无法抗拒.特别是在Redhat下面挣扎数小时,安装成功一个软件,突然发现在Ubuntu下只需要一行命令的时候,你的心中就有了决定.当然,Redhat下也有它自己的yum命令,但是个人觉得还是远没有Ubuntu好用. 1. apache2的安装 言归正转,首先是安装apache2. 简简单单一句话:#apt

跳过 centos部署 webpy的各种坑

用centos部署webpy发现的各种坑: 1.python 版本: 2.中文编码: 3.web模块路径: 在命令行里输入python,能import web,但是网站错误报告一直报告没有找到web模块,说明web模块路径有问题.pythonpath有问题.用sys.path打印出来看后,果然找不到web模块的路径. 解决方法1:在index.py文件里将web模块的路径加入pythonpath -- sys.path.append('/usr/local/lib/python2.7/site-

Window下python+Apache+mod_wsgi+Django配置(python2.7)

前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方法. 正文: 首先,需要下载python.Apache.mod_wsgi.Django,下载地址如下 mod_wsgi:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi(因为python2.7,所以下载mod_wsgi?4.4.21+ap24vc

使用Apache+Passenger部署高性能PuppetMaster

前言: 最近在服务器系统上安装了最新的Puppet客户端,发现跟老版本的PuppetMaster做同步时出现了一些问题,警告类的信息很好解决,注释掉配置文件templatedir该行即可,后来又对PuppetMaster做了次升级,直接升为最新的3.6.1,随后发现PuppetMaster默认安装的WEBrick的web服务器性能较低且最新版本3.6.1存在bug以至于无法同时接受多台Agent客户端请求,因此使用Apache+Passenger方案替代原WEBrick,提高并发性能,同时解决b