【问题标题】:Deploying django app to production server, should I include environment (env) in git clone?将 django 应用程序部署到生产服务器,我应该在 git clone 中包含环境(env)吗?
【发布时间】:2017-11-30 13:10:51
【问题描述】:

我有一个在我的本地主机上运行的 django 应用程序。它在虚拟环境中运行。

不,我想将同一个项目部署到 Google Compute Engine 中。 为此,我有一个问题。

在我设置生产服务器(包括使用vritualenv env 启动虚拟环境)后,我是否需要从 git 中克隆项目代码,包括env 目录,还是只需要包括 manage.py 的源代码?

过程描述不同,所以有点混乱。

主要问题是部署 django 应用到生产环境的清晰度以及使用 git 进行代码传输的虚拟环境设置。

感谢您的流程解释。

我的本​​地结构如下:

valuation     <-- project directory w/ manage.py
   valuation  <-- project w/ settings.py
     prophet  <-- app

在我的生产服务器中,我有以下结构

opt/valuation    <-- virtual environment
   valuation     <-- empty directory, [this][1] says I should clone code here 

我的问题是我应该从我的本地项目中克隆什么以及要保留什么(主要是 manage.py、settings.py 等)以便项目能够运行。

谢谢。

【问题讨论】:

    标签: python django git


    【解决方案1】:

    不,您不需要克隆 env 文件夹,只需制作 requirements.text 文件,它将跟踪该项目中使用的所有插件。您可以使用命令更新需求文件

    pip freeze > requirements.text 
    

    在服务器上创建新环境并使用以下命令安装所有插件

    pip install -r requirements.text 
    

    【讨论】:

    • 谢谢,但我仍然对如何在 prod 上构建目录与我的本地设置感到困惑。在我的生产中,我有 /opt/valuation/
    • 虚拟环境可以在任何地方,运行项目只需要从那个 virtualenv 运行
    • 似乎在本地我的应用程序和虚拟环境是分开的,但在服务器中它们是相互的。这就引出了天气问题,我应该在生产中也包含 manage.py 吗?
    • 假设 /opt/apps/ 在此处创建虚拟环境 virtualenv env 现在克隆项目,克隆后将多一个文件夹,创建只需激活 virtualenv 源 env/bin/activate 进入项目文件夹, 运行./manage.py runserver 如果你想在后台运行你可以使用supervisor
    猜你喜欢
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多