2012-05-18 39 views
1

我们目前正在使用Windows 2008 webserver和IIS7的实时服务器上测试Django。为了在IIS上运行Django项目,我们使用Helicon Zoo(Python托管包与Django)。
的计划是到主机上的Web服务器的多个客户端,我们想用的virtualenv,所以我们可以升级特定客户Python包,而不会影响其他人。如何在使用IIS和Helicon Zoo的生产Windows服务器上设置virtualenv?

的具体问题是;当我们在服务器上有几个virtualenvs时,我们如何在IIS下设置不同的Django站点来使用特定的virtualenv?

预先感谢您的时间和答案,

埃里克

回答

2

这是不是很清楚,我是否需要不同版本的Python或不同版本的模块,应用程序中使用的。

有你可以安装其他蟒蛇手动,然后去applicationHost.config文件,找到不同的Python版本。发动机声明将在那里列出。创建一个“python.2.7.wsgi”的副本并编辑副本,将其命名为“python.2.5.wsgi”并更改可执行文件的名称路径。这就是你如何用不同的版本和设置声明更多的引擎。在这里你可以找到更多的信息:Helicon Zoo Module documentation

至于Python模块,假设模块安装在客户端的网站\ python_modules \目录的本地。当您使用Helicon Zoo创建新的Django应用程序时,它默认配置为使用独立的环境,您只需要学习如何正确使用它并告诉客户遵循准则。你可以找到这篇文章中的信息:Running Django on Windows (with performance tests)

+0

谢谢,雅罗斯拉夫,这个工作。我们需要每个站点不同的库。虽然有一点额外的评论这不适用于开箱即用。看起来Django使用PIP来安装requirements.txt中列出的模块。 IIS使用的ApplicationPoolIdentity默认无权执行PIP。我们必须在C:\ Python27文件夹上给它权限来解决这个问题。要指定为ApplicationPoolIdentity帐户权限,请参阅http://serverfault.com/questions/81165/how-to-assign-permissions-to-applicationpoolidentity-account –

+0

能否请您解释得远一点?可能有写权限不足到\ python_modules \下的web站点文件夹,例如:C:\ intepub \网站\ python_modules \,但我们不认为安装在C的任何模块:\ Python27 ......请再次检查Django的文章,有注意不要在全局安装模块,并且deploy.py脚本示例已经包含适当的命令。它应该开箱即用。如果没有,那么我们必须修复它。 – Yaroslav

+0

对不起,但我们不再有这种情况下的日志文件。部署日志中存在两个运行PIP权限不足的错误。其中一个是在Python27目录下的某个地方(但我无法明确地告诉你哪个文件夹),另一个错误我仍然可以找到:“WindowsError:[错误5]访问被拒绝:'C:\\ Windows \\ system32 \\配置\\ \\ systemprofile AppData的\\ \\漫游画中画'”。第二个错误似乎对运行该站点没有影响。 PIP是否安装在全球?因为如果是这样,我可以想象匿名互联网用户没有足够的权利来运行它。 –

相关问题