在Ubuntu下部署Flask项目
2024-09-01 16:31:35
FlaskDemo 命名为test.py
# coding=utf-8
from flask import Flask app = Flask(__name__) @app.route("/")
def index():
return "test" if __name__ == '__main__':
app.debug = True
# 这里host一定要写0.0.0.0 写127.0.0.1的无法访问 ——_——
app.run(host="0.0.0.0", port=5000)
服务器配置
# 必须安装的包
pip install flask
pip install gunicorn
直接运行
python test.py runserver
gunicorn运行 推荐!!!
#直接运行,默认启动的127.0.0.1::8000
gunicorn 运行文件名称:Flask程序实例名 #指定端口
gunicorn -w 4 -b HOST:端口 运行文件名称:Flask程序实例名 #-w 表示进程(worker)。
#-b 表示绑定ip地址和端口号(bind)
# test 运行的文件名称对应 test.py
# app Flask程序实例名对应 app = Flask(__name__) 如:
#直接运行
gunicorn -w 4 -b 0.0.0.0:5000 test:app #后台运行
gunicorn -w 4 -b 127.0.0.1:5000 test:app --daemon
更好的启动方式
添加配置文件gunicorn.conf
# 并行工作线程数
workers = 4
# 监听内网端口5000【按需要更改】
bind = '0.0.0.0:5000'
# 设置守护进程【关闭连接时,程序仍在运行】
daemon = True
# 设置超时时间120s,默认为30s。按自己的需求进行设置
timeout = 120
# 设置访问日志和错误信息日志路径
# accesslog = './logs/acess.log'
# errorlog = './logs/error.log'
运行程序
# gunicorn 运行模块名:应用名 -c 配置文件
gunicorn service:app -c gunicorn.conf
如果你想尝试使用其他py版本运行
1.查看gunicorn位置
which gunicorn
2.打开文件并编辑第一行指定版本
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
import re
import sys from gunicorn.app.wsgiapp import run if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(run())
3.运行
gunicorn server:app -c gunicorn.conf
ps:
如果运行出现一下警告,尝试将文件gunicorn.conf更改为 gunicorn.py在运行
!!!
!!! WARNING: configuration file should have a valid Python extension.
!!!
最新文章
- 修改eclipse皮肤
- JDE报表开发笔记(R5537011 收货校验统计表)
- ANDROID_MARS学习笔记_S01原始版_020_Mp3player001_歌曲列表
- java基于xml配置的通用excel单表数据导入组件(二、xml配置文件解析加载)
- 在OC和Swift中使用IBDesignable/IBInspectable
- JDBC的超时原理
- 【Android】XML文件的解析
- Linux cat /proc/meminfo 输出分析
- Lesson 1-2
- [math] 我对对数的最新理解
- hbuilder真机调试时,手机端无法连接电脑测试的处理办法
- 【ATcoder】Xor Sum 2
- 10.Python-第三方库requests详解(二)
- Sqlserver的Transaction做Rollback的时候要小心(转载)
- Kivy 中文教程 实例入门 简易画板 (Simple Paint App):0. 项目简介 &; 成果展示
- .NetCore使用FluentValidation实现友好验证提示
- Microsoft Jet 数据库引擎 SQL 和 ANSI SQL 的比较
- FineUI与百度地图简单示例 (转帖)
- SpringBoot日记——日志框架篇
- CentOS+Apache虚拟主机域名设置
热门文章
- 第4篇 Scrum 冲刺博客
- SpringSecurity权限管理系统实战—九、数据权限的配置
- antdv时间选择a-date-picker设置日期可选范围(近一周、近半月、近一月等) - moment.js
- SpiderMonkey教程
- CocosCreator游戏开发(五)实现技能按钮
- P3311 [SDOI2014]数数 AC自动机+数位DP
- [业界方案] 用SOFATracer学习分布式追踪系统Opentracing
- XmlAnalyzer1.00 源码
- 性能测试1:loadrunner介绍及代理录制
- python基础五(函数、全局变量和局部变量)