buildout 部署策略
我正在把 zc.buildout 应用到一个已经存在的 django 项目上。我现在在考虑如何部署这个项目。请问我该如何在生产服务器上实现沙箱效果呢?
2 个回答
0
使用 包含站点包 选项:
[buildout]
include-site-packages = false
(我知道这个问题有点老,但在搜索结果中经常会看到。)
4
我不太明白你说的“沙盒效应”是什么意思。如果你指的是“隔离构建”,那是 buildout 的功能。虽然它可以使用每个用户的缓存目录,如果你在你的~/.buildout/default.cfg
里设置了的话。如果你想在生产服务器上实现非常严格的沙盒环境,你需要把这个功能关掉。
部署通常意味着一些参数和你开发机器上的设置不同。你的网页应用的调试模式应该关闭;需要配置一个定时任务;端口号也不再是默认的 8080 了。
解决方案是:在你的 buildout 旁边放一个deploy.cfg
文件。这个文件应该扩展你的buildout.cfg
,只改变一些设置。其他的设置和你的buildout.cfg
是一样的。大概是这样的:
[buildout]
extends = buildout.cfg
parts +=
startup-cronjob
[instance]
# Some changes, like port number.
http-address = 13080
debug-mode = off
verbose-security = off
[startup-cronjob]
# Example part that's new to the deploy.cfg, it wasn't in buildout.cfg.
recipe = z3c.recipe.usercrontab
times = @reboot
command = ${buildout:directory}/bin/supervisord
差不多就是这样!