高效烧瓶应用程序的快速部署脚本
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 common
curl-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
- sudo chown-r www:www/opt/&;cd/opt
- wget"https://repo.anaconda.com/archive/anaconda3-5.3.1-linux-x86_64.sh"
- sudo chmod+x./anaconda3-5.3.1-linux-x86_64.sh&;/anaconda3-5.3.1-linux-x86_64.sh
- 遵循提示:
是
-/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日
- 保留环境变量use
sudo-e
- 保持python全局变量使用重复代码
- 保留环境变量use
麻省理工学院许可证
版权所有(c)2018 Monius
兹免费准许任何人取得副本 本软件和相关文档文件("软件")的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的副本或大部分。
本软件按"原样"提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。