最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Linux生产环境运行flask

互联网 admin 3浏览 0评论

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

说明

在生产环境运行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

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论