说明

在生产环境运行Flask程序,也就是常用的linux服务器上跑Flask程序。

起因

每次在服务器上跑Flask程序都会有下面这个warning

(env) [root@i8z code]# python -m flask run -h 0.0.0.0 -p 8884* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: off

大概意思就是:
这是开发环境,不要用它部署生产环境。

每次看到这个提示还是有点烦的,所以就从网上找了点解决办法。

开始准备

进入正题,跑生产环境的Flask程序

1. 创建虚拟环境

没有安装虚拟环境的话,安装一下
pip3 install virtualenvvirtualenv envname

2. 安装依赖库

需要的WSGI库,主要是gunicorn

pip3 install wheel
pip3 install gunicorn

3. 创建Flask程序 flaskapp.py

from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def index():return "Hello World!"
if __name__ == "__main__":app.run(debug=True,host='0.0.0.0',port=int(os.environ.get('PORT', 5000)))

4. 创建WSGI程序 wsgi.py

从第3步的flaskapp文件中导入app

from flaskapp import app
if __name__ == "__main__":app.run()

5. 运行wsgi启动Flask程序

gunicorn --bind 0.0.0.0:5000 wsgi:app后台启动
nohup gunicorn --bind 0.0.0.0:8884 wsgi:app &

另外追加内容

设置一下开机启动

sudo vi /etc/systemd/system/flaskapp.service[Unit]
Description=A Gunicorn example to serve Flask project
After=network.target
[Service]
User=user_name
Group=www-data
WorkingDirectory=/home/user_name/webapp/project_folder
Environment="PATH=/home/user_name/webapp/bin"
ExecStart=/home/user_name/webapp/bin/gunicorn --workers 3 --bind unix:/home/user_name/webapp/project_folder/flaskapp.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.targetsudo systemctl start flaskapp
sudo systemctl enable flaskapp
sudo systemctl status flaskapp

Linux生产环境运行flask相关推荐

  1. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

    ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...

  2. 【ketlle】本地开发kitlle job提交至linux生产环境上执行流程

    [ketlle]本地开发kitlle job提交至linux生产环境上执行 前言 操作步骤 后记 前言 因为kettle提供可视化界面,所以我们在本地开发的时候拖拽开发十分便捷,开发完成后,我们需要丢 ...

  3. 生产环境运行Docker的9个关键决策

    本文讲的是生产环境运行Docker的9个关键决策,[编者的话]生产环境运行Docker并没有想象的那么简单,如何实现稳定安全的部署和扩容? 又有哪些需要考虑的关键决策? 本文就此做了一些分析和阐述,赶 ...

  4. Debian 11 Linux生产环境配置(Git2.30.2 Python3.9.2 Golang1.18 Docker20.10.4 Nginx1.21.6)

    0.说明 本文操作需要在服务器下进行,由于本人第一次配置Debian生产环境,本文内容仅供参考 本篇文章主要包含以下内容: ·安装python一些实用的软件包 ·配置Git ·安装Golang最新版本 ...

  5. Linux生产环境CPU使用率100%,教你定位到具体函数

    在我们项目部署上线的时候,我们是不是会经常去Linux服务器上查查服务器的CPU使用率,或者是运维经常会盯Linux的CPU使用率,发现监控报了60%的一般就会报警了,到了100%那就惨啦,做我开发的 ...

  6. CentOS(5.8/6.4)linux生产环境若干优化实战

    CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作.注意:本次优化都是基于CentOS(5.8/6.4). 下 ...

  7. CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维

    特别说明:本文来自就爱运维.特和所有博友分享.更多优化,请关注www.92yunwei.com后续内容以及分享. CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才 ...

  8. linux生产环境下安装anaconda总结

    前言: 工作中,常常要在新的linux生产服务器中安装自己的集成python环境,这种情况下有一点需要注意:不能覆盖生产服务器中的python环境(也就是自己的python环境要和系统的python环 ...

  9. 发布ASP.NET Core程序到Linux生产环境

    原文翻译:Publish to a Linux Production Environment 作者:Sourabh Shirhatti 在这篇文章里我们将介绍如何在 Ubuntu 14.04 Serv ...

最新文章

  1. 测试ASP_NET 生命周期
  2. Kettle使用_7 数据校验组件应用
  3. JmsTemplate sendAndReceive 设置超时
  4. Python | Socket01 - 创建一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
  5. 很经典的独白,搞网络的童鞋们,你们懂得
  6. @程序员,解读 5G 中性命攸关的时延! | 技术头条
  7. 2017 年大数据、物联网与 AI 的趋势预测
  8. 不想一直做底层码农的请进~
  9. [C/C++] ccpuid:CPUID信息模块 V1.02版,支持Mac OS X,支持纯C,增加CPUF常数
  10. [收藏] 将 DTS 用于业务智能解决方案的最佳实践
  11. Apache下如何安装ssl证书?PHPWAMP如何开启SSL
  12. BCM94360CD+linux+驱动,BCM94360CD WINDOWS驱动(32+X64位)
  13. java 打印 xps_使用Java 将PPT转换为PDF、XPS等格式
  14. IPv6地址、单播、多播/组播介绍
  15. VPS上安装Zpanle面板
  16. 大厂算法面试之leetcode精讲4.贪心
  17. 第36.5节 动画-跟踪运动中物体的操作器
  18. 基于百万级别的站内信设计
  19. ubuntu18.04安装teamviewer后,一直登录不上原因。
  20. 下午经历的一次exchange数据库无法挂载

热门文章

  1. 无线耳机的分类和技术特点
  2. 关于基线长度对双天线GNSS测姿精度的影响
  3. python的深浅拷贝与linux中的软硬链接
  4. 电商新系统如何应对峰值
  5. 家用nas装linux和windows,你会用 NAS 给 PC 装系统吗?
  6. JDK自带JVM工具
  7. vue3+heightchart实现3D饼图,echarts3D饼图,3D饼图引导线实现
  8. 谈谈小程序的赚钱方式
  9. 运动目标检测——研究方向与难点
  10. SPFA算法判断负权环(bfs_spfa,dfs_spfa)