`

apache+mod_wsgi部署quixote的方法

阅读更多
折腾了好几天,终于搞定,特此记录,如有大牛发现方法有所不妥,请指正一下,不胜感激涕零........
  过程如下:
  假设python2.5和quixote你已经安装了
  1.安装apache2.2 ,过程略
  2.下载mod_wsgi.so
  3.copy到apache的modlues目录下
  4.给quixote准备连接mod_wsgi的脚本,代码如下:

  由于qwip需要支持多线程的publisher,所以需要继承publisher实现多线程支持,实现的例子在quixote的demo文件夹中有,代码:

 

multi thread support
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> 1#multi thread support
 2import thread
 3class ThreadedPublisher (Publisher):
 4    is_thread_safe =  True
 5    def __init__ (self, root_namespace, config=None):
 6        Publisher.__init__(self, root_namespace, config)
 7        self._request_dict = {}
 8    def _set_request(self, request):
 9        self._request_dict[thread.get_ident()] = request
10    def _clear_request(self):
11        try:
12            del self._request_dict[thread.get_ident()]
13        except KeyError:
14            pass
15    def get_request(self):
16        return self._request_dict.get(thread.get_ident())

  
  注意 is_thread_safe = True 这一行是例子中没有的,但是必须加,不然qwip会认为你的publisher不是线程安全的,哪怕你已经做了多线程的处理。
  
  有了这个类之后就简单了,只需要:

Create application
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> 1def create_publisher():
 2    #return Publisher(RootDirectory(),
 3    #                 display_exceptions='plain')
 4    return ThreadedPublisher(RootDirectory())
 5
 6import traceback
 7from quixote import get_wsgi_app
 8
 9try:
10    pub = create_publisher()
11    application = get_wsgi_app()
12except TypeError,e:
13    pass
  
  注意application = get_wsgi_app()这个对象名称必须是application,不然mod_wsgi找不到能调用的东西。
  
  5.有了连接的脚本后就只需要配置mod_wsgi就行了
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->1WSGIScriptAlias /test D:/WorkPlace/alex/TestQuixote/wsgi.py
2<Directory D:/WorkPlace/alex/TestQuixote/>
3   WSGIApplicationGroup %{GLOBAL}
4   Order deny,allow
5   Allow from all
6</Directory>

  我这里配置了一个目录,其余的可以举一反三
分享到:
评论

相关推荐

    django+apache+mod_wsgi完美匹配包

    mod_wsgi是Apache的一个模块,专门用于部署Python Web应用。它可以将Python应用程序与Apache紧密集成,提供高性能的Web服务。mod_wsgi-windows-4.4.6.tar包含的是mod_wsgi的Windows版本4.4.6,适用于与Apache 2.4...

    Windows下python flask+Apache+mod_wsgi+db2部署

    Windows 下 Python Flask+Apache+mod_wsgi+DB2 部署 本文档旨在指导用户在 Windows 平台上部署 Python Flask 项目,使用 Apache 作为 Web 服务器,mod_wsgi 作为 WSGI 服务器,DB2 作为数据库管理系统。 一、...

    Windows+Apache+mod_wsgi+virtualenv搭建django

    通过 Windows + Apache + mod_wsgi + virtualenv 的组合,可以在 Windows 环境下高效地部署和运行 Django Web 服务器。这种方式不仅解决了 Windows 平台上 Web 服务器的选择问题,还提供了稳定可靠的 Python 应用...

    Windows平台apache24mod_wsgi 部署Python应用

    ### Windows平台Apache 24与mod_wsgi部署Python应用详解 #### 一、概述 在Windows平台上部署Python Web应用时,经常会遇到各种各样的问题。本文将详细介绍如何使用Apache 2.4结合mod_wsgi模块来高效地部署Python...

    django+apache+mod_wsgi.rar

    标题 "django+apache+mod_wsgi.rar" 暗示了这个压缩包是关于使用Django框架与Apache web服务器结合,并通过mod_wsgi模块在Windows 64位平台上部署Python应用的配置。描述中提到的"python3.5+apache2.4vc14+mod_wsgi_...

    sjqzhang#webtech#通过Apache和mod_wsgi部署1

    步骤:下载和安装mod_wsgi从它的网站:在httpd.conf中配置Apache 加载 mod_wsgi模块和您的项目:注意: mod_wsgi + ses

    ubuntu下django+apache+mod_wsgi部署

    ubuntu下django+apache+mod_wsgi部署。我的测试成功了!

    apache2.2 with mod_wsgi for amd64_X64

    注意:64位系统专用,如要32位的,请搜索我另外发布的一个资源"apache2.2 with mod_wsgi for win32_X86"。 使用Apache2.2+mod_wsgi搭建django站点,将apache和mod_wsgi打包提供下载,默认情况下,apache和站点平行...

    Apache安装包与mod_wsgi库

    在Windows环境下,使用Apache和mod_wsgi来部署Django项目是一种常见的实践,因为它们提供了稳定性和灵活性。以下是对这个主题的详细解释。 1. **Apache**:Apache HTTP Server是一个开源的Web服务器软件,支持多种...

    mod_wsgi.so全版本下载

    `mod_wsgi` 是一个用于在Apache Web服务器上部署Python应用程序的模块,它提供了高效率和安全的环境来运行Python应用,比如Django等框架。标题“mod_wsgi.so全版本下载”暗示了这是一个包含不同版本的`mod_wsgi`库,...

    window7配置python3.3 + django + apache24 + mod_wsgi

    在Windows 7操作系统中搭建一个基于Python 3.3、Django、Apache 2.4和mod_wsgi的Web开发环境是一项技术性较强的任务。这个配置组合能够让你使用Python的高级Web框架Django来开发应用,并通过Apache服务器进行高效...

    windows_mod_wsgi_apache2.2-2.4_python2.6-3.4全版本都有

    标题和描述提及的是"windows_mod_wsgi_apache2.2-2.4_python2.6-3.4全版本都有",这表明这是一个针对Windows操作系统的mod_wsgi模块的集合,该模块是为Apache Web服务器设计的,支持Apache 2.2到2.4版本,并且兼容...

    mod_wsgi-windows

    **标题解析:** "mod_wsgi-windows" 指的是 mod_wsgi 的 Windows 版本。mod_wsgi 是一个用于Apache HTTP服务器的...在部署时,用户需要根据自己的Apache和Python版本选择合适的mod_wsgi版本,并正确配置以实现功能。

    httpd-2.4.46-win64-VS16+mod_wsgi.zip

    描述中提到,这个包是针对Django项目快速部署的解决方案,提供了64位的Apache服务器和与之兼容的mod_wsgi版本。"VS16"指的是Visual Studio 2019的编译器,意味着这个Apache版本是使用该编译器构建的,确保了与...

    apache2.2 with mod_wsgi for win32_X86

    注意:32位系统专用,如要64位的,请搜索我另外发布的一个资源"apache2.2 with mod_wsgi for amd64_X64"。 使用Apache2.2+mod_wsgi搭建django站点,将apache和mod_wsgi打包提供下载,默认情况下,apache和站点平行...

    mod_wsgi python开发

    `mod_wsgi` 是一款用于在Apache Web服务器上部署和运行Python Web应用程序的模块,它实现了WSGI(Web Server Gateway Interface)标准。WSGI是Python Web应用的通用接口,让Web服务器与Web应用之间能进行通信。通过`...

    mod_wsgi 编译后的文件

    mod_wsgi是一个流行的Apache模块,它提供了在Apache服务器上部署和管理Python Web应用的高效方式。它有两个主要的部署模式:嵌入式模式和 daemon 模式。在嵌入式模式下,mod_wsgi直接在Apache进程中运行Python代码,...

    Django傻瓜式项目部署,包教包会!django1.10+Python2.7+mod_wsgi-3.5win-amd64+apache2.2

    在本文中,我们将深入探讨如何在Windows 64位环境下使用Django 1.10、Python 2.7、mod_wsgi 3.5win-amd64以及Apache 2.2进行项目部署。这个过程适合初学者,我们将一步步地解决在部署过程中可能遇到的问题,包括...

Global site tag (gtag.js) - Google Analytics