Apache mod_wsgi 32位/64位Python兼容性

2024-09-27 00:19:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用zendstudio/zendserver开发基于PHP的网站,但现在我正在上Python课程,我想学习Django。在

我有一台Windows7AMD-64计算机,使用64位的Python2.6(本课程需要2.6版),这部分工作得很好。在

我的问题是试图将mod\uwsgi添加到Zend服务器的32位Apache安装中。我已经为python2.6下载了mod\wsgi 32位Windows二进制文件的几个版本,并将它们复制到C:Program Files(x86)\Zend\Apache2\modules目录中,进行了编辑httpd.conf并补充道:

加载模块wsgi_模块模块/mod_wsgi.so公司在

重新启动Apached2.2-Zend,然后测试是否在命令提示符下加载了mod_wsgi:

httpd-t-M型

但是,mod_wsgi没有出现在加载的模块列表中。在

我最后发现这可能行不通,因为我无法将64位python2.6与32位zendserverapache2.2混合匹配。在

所以我的问题是:

我可以安装一个64位版本的Apache2.2,并与ZendServer Apache2.2同时运行(但是配置64位版本,这样它就不会监听与ZendSever Apache2.2相同的端口),这样我所有的本地PHP虚拟主机都能正常工作吗?也许我会有更好的运气让mod\wsgi加载这个Apache?在

或者,安装一个32位版本的Python会更好吗(可能是更高版本,比如python2.8,因为我的课程只需要python2.6,而我正试图让Django只用于我自己的网站开发)?这会允许我的zendserverapache2.2加载mod\wsgi吗?另外,如果我在windows7机器上同时安装了Python,Apache如何确定应该使用哪个Python安装?在


Tags: 模块django版本modwsgi网站apache计算机
1条回答
网友
1楼 · 发布于 2024-09-27 00:19:23

Can I install a 64-bit version of Apache 2.2 and run that at the same time as ZendServer Apache2.2 (but configure the 64-bit version so it doesn't listen on the same ports as my ZendSever Apache2.2)

是的,你可以。在

您已经考虑过最困难的问题:它不能在同一个端口上侦听。在

一个相关的问题是,有些人的网络不允许他们与端口8080建立传出连接;如果您想处理这个问题,您需要将ZendServer设置为另一个服务器的转发代理。但事实就是这样。在

唯一的另一个问题是,您需要确保您的两个Apache副本不会尝试共享相同的配置文件等(而且您可能也不希望这两个副本都位于您的路径上)。在


Or, would it be better to install a 32-bit version of Python (probably a higher version like Python 2.8

没有2.8,永远不会。上一个2.x版本是2.7(尽管它继续得到bug修复,并且已经达到了2.7.5)。如果你想要更高的版本,你必须使用3.x版本。如果你需要的一切都运行在3.3上(django1.5+也可以),并且你愿意学习一些小的变化,你应该考虑一下。但是如果你想坚持你已经知道的,那就得到2.7.5。在

Would that allow my ZendServer Apache2.2 to load mod_wsgi?

好吧,如果你在Python2.6中使用mod_wsgi并安装Python2.7或3.3…或者使用mod_wsgi来安装Python并安装一个Cygwin Python…等等,我想你已经知道了(假设“我已经为python2.6下载了多个mod unwsgi32位Windows二进制文件版本”)。在

除此之外,是的。只要一切构建和配置正确,它就可以工作。(我不知道你下载和安装了哪些特定的软件包,所以我当然不能保证它们是否能正常工作。)

Also, how does Apache figure out which installation of Python it should be using if I have both on my Windows 7 machine?

这是可配置的。我相信默认值是使用它首先在PATH上找到的任何内容,或者在注册表设置中显示为“defaultpython2.x”的任何内容,正如PEP 397中描述的python命令行启动器所使用的那样。(当然,如果Python不是基于它构建的,那么它将无法启动。)

相关问题 更多 >

    热门问题