【发布时间】:2023-03-04 12:01:01
【问题描述】:
所以我应用 zc.buildout 到现有的 django 项目。我想知道现在部署它。如何在生产服务器上实现沙盒效果?
【问题讨论】:
标签: python deployment buildout
所以我应用 zc.buildout 到现有的 django 项目。我想知道现在部署它。如何在生产服务器上实现沙盒效果?
【问题讨论】:
标签: python deployment buildout
不确定您所说的“沙盒效应”是什么意思。如果您的意思是“隔离构建”:是的,这就是 buildout 所做的。尽管如果您在~/.buildout/default.cfg 中告诉它,它可以使用每个用户的缓存目录。如果您想在生产服务器上进行真正严格的沙盒操作,则必须将其关闭。
部署通常意味着某些参数与您的开发机器上的不同。您的 Web 应用程序的调试模式应该关闭;必须配置 cron 作业;端口号不再是默认的 8080。
解决方案:在您的构建旁边放置一个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
类似的东西!
【讨论】:
使用包含站点包选项:
[buildout]
include-site-packages = false
(我知道我在挖掘一个老问题,但它会在搜索结果中弹出。)
【讨论】: