在Windows服务器下用Apache和mod_wsgi配置Python应用的教程

作者:goldensun 时间:2021-10-28 22:36:17 

最近开发了一个 Google Analytics 相关的应用,但需要在 Windows 下部署,结合网上的相关经验,最终选择了 apache+mod_wsgi 这样的配置。
修改python应用

   

Note that mod_wsgi requires that the WSGI application entry point be called 'application'. If you want to call it something else then you would need to configure mod_wsgi explicitly to use the other name.
    (via: wiki)

因为 mod_wsgi 默认要求入口名称为 application 所以我们需要对自己的 python web 应用做一些修改。

假设我们使用flask 搭建的应用,而默认的入口名称为 app, 建立一个 wsgi_handler.wsgi


import sys, os
sys.path.insert(0, os.path.dirname(__file__))
from application import app as application

下载安装 httpd

应用的入口修改好之后,就需要安装 apache 和 mod_wsgi 了,我使用的是32位的系统,64位系统下载的安装包可能 与32位的不同。

打开页面 http://apache.dataguru.cn//httpd/binaries/win32/,下载 httpd-2.2.22-win32-x86-no_ssl.msi, 下载后运行程序,按提示安装,具体过程这里不详述。
安装并配置 mod_wsgi

目前 Windows 下对 python 支持的最好的应该就是 [mod_wsgi][mw] 了。

下载 https://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so

将下载的文件重命名为 mod_wsgi.so 后移动到 apache 的 modules 目录:

在 conf/httpd.conf 中加入如下配置

LoadModule wsgi_module  modules/mod_wsgi.so

配置应用 vhost

在 conf/httpd.conf 中启用 vhosts 配置文件

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

编辑 conf\extra\httpd-vhosts.conf 删除无效的示例代码,并加入应用的配置

NameVirtualHost *:5000
<VirtualHost *:5000>
    ServerName localhost
    WSGIScriptAlias / E:\Projects\ga-data\wsgi_handler.wsgi
    <Directory E:\Projects\ga-data>
            Order deny,allow
            Allow from all
    </Directory>
</VirtualHost>

其中 E:\Projects\ga-data 替换成应用真实的路径,尽量避免将应用放在中文或者有包含空格的路径中

接下来启动 Apache 并访问 http://localhost:5000 即可。

标签:Python
0
投稿

猜你喜欢

  • 轻松解决Mysql“信息包过大”的处理方法

    2008-06-07 16:50:00
  • Python实现自定义Jupyter魔法命令

    2022-03-10 11:47:04
  • Python 虚拟环境venv详解

    2021-04-12 03:44:14
  • php通过获取头信息判断图片类型的方法

    2023-11-10 00:31:50
  • CSS缩写可以有效的缩小CSS文件的体积

    2009-01-13 18:06:00
  • python学习之编写查询ip程序

    2023-11-09 18:52:29
  • 看ASP程序源码的方法及工具

    2009-01-21 19:58:00
  • matplotlib图例legend语法及设置的方法

    2023-01-07 04:23:37
  • Python语言进阶知识点总结

    2022-11-09 01:21:37
  • Win7彻底卸载Oracle 11g图文步骤(靠谱)

    2024-01-22 22:22:05
  • MySQL主从搭建(多主一从)的实现思路与步骤

    2024-01-18 01:14:02
  • javascript设置和获取cookie的方法实例详解

    2024-04-22 13:05:08
  • Display SQL Server Login Mode

    2024-04-18 10:55:50
  • python的setattr函数实例用法

    2023-08-17 18:49:59
  • Pyinstaller加密打包成反编译可执行文件

    2022-06-20 14:23:06
  • Python算法输出1-9数组形成的结果为100的所有运算式

    2022-05-02 22:45:48
  • 详解Bagging算法的原理及Python实现

    2021-06-10 00:20:41
  • python数据处理——对pandas进行数据变频或插值实例

    2021-01-05 19:22:01
  • 详解JS中的compose函数和pipe函数用法

    2024-04-18 10:59:25
  • MySQL查询重写插件的使用

    2024-01-27 15:55:58
  • asp之家 网络编程 m.aspxhome.com