Linux生产环境运行flask
说明
在生产环境运行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相关推荐
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...
- 【ketlle】本地开发kitlle job提交至linux生产环境上执行流程
[ketlle]本地开发kitlle job提交至linux生产环境上执行 前言 操作步骤 后记 前言 因为kettle提供可视化界面,所以我们在本地开发的时候拖拽开发十分便捷,开发完成后,我们需要丢 ...
- 生产环境运行Docker的9个关键决策
本文讲的是生产环境运行Docker的9个关键决策,[编者的话]生产环境运行Docker并没有想象的那么简单,如何实现稳定安全的部署和扩容? 又有哪些需要考虑的关键决策? 本文就此做了一些分析和阐述,赶 ...
- Debian 11 Linux生产环境配置(Git2.30.2 Python3.9.2 Golang1.18 Docker20.10.4 Nginx1.21.6)
0.说明 本文操作需要在服务器下进行,由于本人第一次配置Debian生产环境,本文内容仅供参考 本篇文章主要包含以下内容: ·安装python一些实用的软件包 ·配置Git ·安装Golang最新版本 ...
- Linux生产环境CPU使用率100%,教你定位到具体函数
在我们项目部署上线的时候,我们是不是会经常去Linux服务器上查查服务器的CPU使用率,或者是运维经常会盯Linux的CPU使用率,发现监控报了60%的一般就会报警了,到了100%那就惨啦,做我开发的 ...
- CentOS(5.8/6.4)linux生产环境若干优化实战
CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几点关于Linux系统安装后的基础优化操作.注意:本次优化都是基于CentOS(5.8/6.4). 下 ...
- CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维
特别说明:本文来自就爱运维.特和所有博友分享.更多优化,请关注www.92yunwei.com后续内容以及分享. CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才 ...
- linux生产环境下安装anaconda总结
前言: 工作中,常常要在新的linux生产服务器中安装自己的集成python环境,这种情况下有一点需要注意:不能覆盖生产服务器中的python环境(也就是自己的python环境要和系统的python环 ...
- 发布ASP.NET Core程序到Linux生产环境
原文翻译:Publish to a Linux Production Environment 作者:Sourabh Shirhatti 在这篇文章里我们将介绍如何在 Ubuntu 14.04 Serv ...
最新文章
- 测试ASP_NET 生命周期
- Kettle使用_7 数据校验组件应用
- JmsTemplate sendAndReceive 设置超时
- Python | Socket01 - 创建一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
- 很经典的独白,搞网络的童鞋们,你们懂得
- @程序员,解读 5G 中性命攸关的时延! | 技术头条
- 2017 年大数据、物联网与 AI 的趋势预测
- 不想一直做底层码农的请进~
- [C/C++] ccpuid:CPUID信息模块 V1.02版,支持Mac OS X,支持纯C,增加CPUF常数
- [收藏] 将 DTS 用于业务智能解决方案的最佳实践
- Apache下如何安装ssl证书?PHPWAMP如何开启SSL
- BCM94360CD+linux+驱动,BCM94360CD WINDOWS驱动(32+X64位)
- java 打印 xps_使用Java 将PPT转换为PDF、XPS等格式
- IPv6地址、单播、多播/组播介绍
- VPS上安装Zpanle面板
- 大厂算法面试之leetcode精讲4.贪心
- 第36.5节 动画-跟踪运动中物体的操作器
- 基于百万级别的站内信设计
- ubuntu18.04安装teamviewer后,一直登录不上原因。
- 下午经历的一次exchange数据库无法挂载