文档首页 > > 用户指南> 创建部署任务> 使用系统模板> Django应用部署模板

Django应用部署模板

分享
更新时间:2020/08/25 GMT+08:00

本文档为部署服务的Django应用部署模板使用说明,主要包含部署架构、前置操作、部署流程、使用说明和常见问题,旨在指导用户灵活使用部署服务部署一个Python后台应用。

部署架构

Django应用部署模板架构如下图:
  • uWSGI用于连接Web服务器(Nginx)和Python应用程序(Django Application)。
  • Nginx做为反向代理,处理Http请求。
  • Django Application为Python后台应用,提供服务。

前置操作

  1. 配置pip源和yum源保证安装正常:
    • 模板中安装软件使用yum和pip,请配置好对应的源地址,保证安装正常。
  1. 创建Django项目,并上传至发布仓库:
    • 使用构建服务,将Django项目文件压缩后上传至发布仓库,之后在部署步骤中下载并解压后使用。

部署流程

服务部署的流程为:

安装相关组件(可选,且只执行一次)->启动Nginx(只执行一次)->下载并解压软件包 ->重新启动服务->服务启动测试

使用说明

  1. 模板包含了在一台新主机上部署Django应用的关键步骤,在实际使用时要根据主机及应用的实际情况适当修改。

    例如:

    1. 主机已经安装过的组件,不需要再重复安装。
    2. 第一次执行,如没有启动uWSGI,则需禁用“停止uWSGI服务”步骤。
    3. Nginx如果已经启动,则不需再启动。使用reload重新加载配置文件。

      如下图,部署步骤的“控制选项”中选择是否启用该步骤。

  2. 模板的部署步骤中定义了一些变量,需要在“参数设置”中填入正确的值。

操作实践示例

本章阐述使用一个Demo程序,完成整个部署流程。

  1. 创建Demo程序,项目文件如下图:

    mysite.ini为uWSGI配置文件,内容如下:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    [uwsgi]
    socket= 127.0.0.1:9092
    http = :9091
    chdir= /home/djangoTest/mysite
    module= mysite.wsgi
    master= true
    processes= 4
    vacuum= true
    # 不配置log目录,可能会导致服务访问异常
    logto = /home/djangoTest/mysitemylog.log
    stats=%(chdir)/mysite/uwsgi/uwsgi.status
    pidfile=%(chdir)/mysite/uwsgi/uwsgi.pid
    

    其中:

    • socket为uWSGI服务的IP和端口;
    • chdir为Django项目根目录;
    • pidfile为进程ID存储文件,用于停止服务。

  

  1. 使用构建服务,压缩打包项目文件并上传到发布仓库,发布仓库文件如下图:

  2. 创建部署任务
    1. 参数设置

      设置好部署步骤中的变量,如下图:

        

    2. 下载Python后台软件包

    3. 解压软件包

    4. 重新启动uWSGI

      shell命令如下:

      if [ -s ${uwsgiPidFilePath} ]
      then 
      uwsgi --stop ${uwsgiPidFilePath}
      sleep 5
      fi 
      nohup uwsgi --ini ${uwsgiIniFilePath}  &
  3. 创建完成后点击执行,结果如下图。

      

      

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问