像SpringBoot一样使用Flask - 6.多环境打包发布

 接上文《像SpringBoot一样使用Flask - 5.统一处理(日志、异常、响应报文)》,一个小架子差不多了,就得看看怎么像SpringBoot多环境以及打包之后一个最终效果是怎样了。

    一、写一个配置文件

class BaseConfig():
    LOCAL_ENV = "pro"
    """通用基础配置"""
    MEDIA_ROOT = "/static/media"

class TestConfig(BaseConfig):
    """测试环境配置"""
    DEBUG = True
    DB = '127.0.0.1'

class DevConfig(BaseConfig):
    """开发环境配置"""
    DEBUG = True
    DB = '192.168.1.1'

class PreProConfig(BaseConfig):
    """预发布环境配置"""
    DEBUG = False
    DB = '47.18.1.10'

class ProConfig(BaseConfig):
    """生产环境配置"""
    DEBUG = False
    DB = '47.18.1.1'

  二、配置生效


# 多环境配置
app.config.from_object(BaseConfig)
localEnv = str(app.config.get('LOCAL_ENV'))
# 正式环境配置
if localEnv == "pro":
    app.config.from_object(ProConfig)
# 测试环境配置
if localEnv == "dev":
    app.config.from_object(DevConfig)

三、测试运行,成功✌️

 眼尖的小伙伴肯定看到这段了

app.run(host='127.0.0.1', port=5001, debug=True)

    可以配置服务相关端口哦

    四、打包运行

我们跑起来的时候,总是出现红色的字,这是我们需要使用WSGI服务用在生产。

    安装 Gunicorn

pip install gunicorn

常用参数:

-c CONFIG, --config=CONFIG 指定配置文件
 
-b BIND, --bind=BIND 绑定运行的主机和端口
 
-w INT, --workers INT 用于处理worker进程的数量,默认为1
 
-k STRTING, --worker-class STRTING 指定要使用的工作模式,默认为sync异步,类型:sync, eventlet, gevent, tornado, gthread, gaiohttp
 
--threads INT 处理请求的工作线程数,使用指定数量的线程运行每个worker。为正整数,默认为1
 
--worker-connections INT 最大客户端并发数量,默认1000
 
--chdir 在加载应用程序之前切换目录

总结:

    基本上大伙可以通过上述的文章内容可以完成一个flask搭建,及部署使用。有兴趣的可以看看ORM和定时任务。如果有需要的话,可以评论发信息,我再更新出来哦~ 也可以自己尝试玩玩。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 17:12:04       75 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 17:12:04       80 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 17:12:04       64 阅读
  4. Python语言-面向对象

    2024-03-11 17:12:04       75 阅读

热门阅读

  1. 编程笔记 html5&css&js 009 HTML链接 我的网址簿

    2024-03-11 17:12:04       33 阅读
  2. 深入理解@Transactional注解

    2024-03-11 17:12:04       34 阅读
  3. 算法训练营day47,动态规划15

    2024-03-11 17:12:04       41 阅读
  4. PC端使用USB模拟的串口ttyGS0登录

    2024-03-11 17:12:04       42 阅读
  5. fastgpt本地详细部署以及配置

    2024-03-11 17:12:04       44 阅读
  6. js【详解】BOM

    2024-03-11 17:12:04       44 阅读
  7. js获取日期格式&textarea高度随内容自适应

    2024-03-11 17:12:04       37 阅读
  8. cool-admin node.js 实现分页 数据获取 直接框架

    2024-03-11 17:12:04       39 阅读
  9. 【STM32+OPENMV】矩形识别

    2024-03-11 17:12:04       42 阅读
  10. Lua调用c++函数的两种办法

    2024-03-11 17:12:04       34 阅读
  11. 2k_Day1:今天是设计模式的大白话1

    2024-03-11 17:12:04       36 阅读
  12. 突破编程_C++_设计模式(装饰器模式)

    2024-03-11 17:12:04       38 阅读