我在测试服务器上有django网站,我对如何部署程序感到困惑。
我当地有这些文件夹
code
virtualenv
static
static/app/bower_components
node_modules
git上的当前我只有代码文件夹。
我最初的想法是在生产服务器上执行此操作
git clone repo
pip install
npm install
bower install
colectstatic
但我有这个问题,有时pip or npm or bowel
中的某些组件无法安装,然后生产deployemnet失败。
我在考虑将所有内容放在git中的静态,bower,npm等中,以便我可以在生成中获取所有内容。
这是正确的做法吗?我想知道解决这个问题的正确方法
答案 0 :(得分:2)
但我遇到了这个问题,有时候某些组件是pip或npm或者 肠道无法安装,然后生产部署失败。
除了找出生产失败的原因之外没有解决方案(或者解决方法是不在生产中安装任何东西,只是将东西复制过来)。
我会提醒第二个选项,因为Python虚拟环境不是为了便携而设计的。如果您有PIL / Pillow或数据库驱动程序等组件,则需要在构建时安装和编译系统库。
以下是我推荐的内容,与文档中的deployment section一致:
STATIC_URL
。通过浏览静态URL(例如:http://example.com/static/images/logo.png)pip install -r requirements.txt
在此之后,您可以使用自己喜欢的方法启动django服务器。
部署django有many, many guides,许多是针对特定环境定制的(例如,AWS自动化,Heroku部署提示,数字海洋等)您可以浏览这些想法(我通常会选择任何自动化)提示)但要小心采用一种策略,而不要确保它适用于您的特定环境/要求。
答案 1 :(得分:0)
此外,this可能对某些部署指南有所帮助。