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

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

一、写一个配置文件

python 复制代码
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'

二、配置生效

python 复制代码
# 多环境配置
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

python 复制代码
pip install gunicorn

常用参数:

python 复制代码
-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和定时任务。如果有需要的话,可以评论发信息,我再更新出来哦~ 也可以自己尝试玩玩。

相关推荐
Hx_Ma168 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode9 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢9 小时前
Java集合笔记总结
java·笔记
小酒窝.10 小时前
【多线程】多线程打印ABC
java
乡野码圣10 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言10 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机11 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
小酒窝.11 小时前
【多线程】多线程打印1~100
java·多线程
君爱学习11 小时前
基于SpringBoot的选课调查系统
java
APIshop12 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库