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

相关推荐
f***686012 小时前
【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
java·spring boot·后端
likuolei13 小时前
Eclipse 快捷键
java·ide·eclipse
哈茶真的c16 小时前
【书籍心得】左耳听风:传奇程序员练级攻略
java·c语言·python·go
喝养乐多长不高16 小时前
JAVA微服务脚手架项目详解(三)
java·大数据·微服务·文件·地图·oss
顾安r16 小时前
11.22 脚本打包APP 排错指南
linux·服务器·开发语言·前端·flask
万邦科技Lafite16 小时前
1688图片搜索商品API接口(item_search_img)使用指南
java·前端·数据库·开放api·电商开放平台
落落落sss16 小时前
java实现排序
java·数据结构·算法
czhc114007566316 小时前
c# 1121 构造方法
java·javascript·c#
Z***258016 小时前
Java爬虫框架
java·开发语言·爬虫
r***123816 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端