时间:2021-05-22
最近开发了一个 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, ossys.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 即可。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Apache上部署Django目前,Apache和mod_python是在生产服务器上部署Django的最健壮搭配。mod_python是一个在Apache中嵌
在生产环境上,一般会使用比较健壮的Web服务器,如Apache来运行我们的应用。如果我们的Web应用是采用Python开发,而且符合WSGI规范,比如基于Dja
linux+apache+mod_python+wechat_sdk搭建微信公共账号服务器转载请注明本文原作者:FignerLiuPRE最近尝试了下使用pyth
Apache的Rewrite心得最近公司要转移服务器,服务器上有几十个站点正在运行,希望转移的期间,服务不受影响,所以用Apache的mod_rewrite做了
Apache服务器在我们生活中很常用今天给大家将一下mac下apache服务器的配置这对程序来说是必备技能之一,如果我们在公司开发都是用的公司的服务器将自己的代