高效烧瓶应用程序的快速部署脚本

flask-deplo的Python项目详细描述


烧瓶展开

使用nginx、postgresql、https和systemd守护程序部署flask应用程序的简单脚本。

安装

使用pip

PIP安装烧瓶展开

用法

在当前目录上部署

将目录更改为烧瓶项目

烧瓶展开fd

原理和变量

  • usr:Linux上的当前用户
  • :站点的域名
    • xx.flask.org
  • env:项目的根位置
    • 项目示例/
  • loc:存储配置文件的目录的位置
    • 例如project/xx.flask.org/

功能

DNS支持

  • 云耀斑
  • 阿里云

服务器支持

  • nginx
  • 球童(未来)

中间件支持

  • USWGI
  • gevent
  • Gunicorn(未来)

Docker支持

  • PostgreSQL数据库

系统服务

  • systemd(Linux)

假设

  • 您是用户:www
  • 您有使用Linux的经验

要求

假设您具备以下条件。

室外

  • 服务器

    • 示例:centos

    • IP地址:

    • 示例:www.example.com
    • 重定向<;域>;=>;<;IP>;

软件和环境

    Git
  • wget
  • 卷曲
  • nginx
  • Docker CE
  • 蟒蛇3
  • 蟒蛇3.6+
  • uwsgi
  • GEVnet

开始

按照这些步骤,然后选择所需的内容。所有的东西都将生成。

  • 创建用户(例如:www)
  • 切换到python虚拟环境
  • python初始化.py

然后更改为根或sudoer并执行以下操作。

获取ssl

  • 运行sudo./domain.sh

如果您第一次运行项目,它将为您的项目生成证书(.cer,.key)。

为烧瓶应用程序配置nginx

  • sudo mv./domain.conf/etc/nginx/sites enabled

如果您第一次运行项目,它会将配置文件添加到nginx中。

将烧瓶应用程序作为systemd后台程序运行

  • sudo mv./domain.service/etc/systemd/system

  • sudo systemctl启用域

  • sudo systemctl启动域

它会将服务文件添加到systemd中,并使您的项目在首次运行时作为系统服务运行。

然后您可以通过:

  • sudo systemctl停止域

  • sudo systemctl重新启动域

注意

ubuntu 18.x

  • Docker CE安装

sudo apt install apt transport https ca certificates curl software properties commoncurl-fssl https://download.docker.com/linux/ubuntu/gpg sudo apt key add-sudo add apt repository"deb[arch=amd64]https://download.docker.com/linux/ubuntu bionic stable"sudo apt安装docker ce

选项

水蟒环境

假设位置:/opt/anaconda3

水蟒设置

  • conda create-n deploy python=3.6
  • Conda激活展开
  • conda install-c conda forge gevent
  • conda install-c conda forge uwsgi

更新

  • 版本0.3 2019年2月17日

    • 添加新的DNS SSL生成:aliyun
    • 添加单独的测试文件夹
    • 添加数字验证
    • 更改逻辑->;<;域,dns_选项,docker>;<;op1,op2>;
  • 版本0.4 2019年3月18日

    • 保留环境变量usesudo-e
    • 保持python全局变量使用重复代码

麻省理工学院许可证

版权所有(c)2018 Monius

兹免费准许任何人取得副本 本软件和相关文档文件("软件")的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的副本或大部分。

本软件按"原样"提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入