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

相关推荐
来杯@Java9 分钟前
学生选课管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·maven·mybatis
invicinble1 小时前
easyexcel开发全域理解
spring boot
不知名的老吴1 小时前
线程的生命周期之线程“插队“
java·开发语言·python
ANnianStriver1 小时前
PetLumina-02-后端开发与前后端联调
java·ai·sa-token
杨了个杨89822 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
无风听海3 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
马士兵教育4 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
snow@li4 小时前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
云烟成雨TD5 小时前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring
zfoo-framework5 小时前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java