文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用gunicorn部署Flask项目

2023-01-30 22:21

关注

  • [*] 本文出处:http://b1u3buf4.xyz/
  • [*] 本文作者:B1u3Buf4
  • [*] 本文授权:禁止转载

从自己的博客移动过来。

gunicorn是一个python Wsgi的WEB服务框架,只支持在Unix系统上运行,来源于Ruby的unicorn项目。虽然可以独自运行,但功能比较单一,通常是部署在Apache,Nginx之后。Gunicorn使用prefork master-worker模型,能够与各种wsgi web框架协作。

gunicorn安装非常简单,使用命令pip install guncorn即可。一般使用它,主要是为使用其异步的worker模型,还需要安装对应的异步模块。

$ pip install greenlet #使用异步必须安装
$ pip install eventlet #使用eventlet workers
$ pip install gevent   #使用gevent workers

后面的内容使用Flask进行举例,代码选自Flask首页给出的测试代码,保存为test.py:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

通常使用的参数:

-c CONFIG, --config=CONFIG
设定配置文件。
-b BIND, --bind=BIND
设定服务需要绑定的端口。建议使用HOST:PORT。
-w WORKERS, --workers=WORKERS
设置工作进程数。建议服务器每一个核心可以设置2-4个。
-k MODULE
选定异步工作方式使用的模块。

在shell中输入你的启动配置,比如gunicorn -w 3 -b 127.0.0.1:8080 test:app,然后运行正常就可以启动服务器。

linux通常会禁止绑定使用1024以下的端口,除非在root用户权限。很多人在使用gunicorn时试图将其绑定到80或者443端口,发现无效。如果想绑定到这些端口,常见的有如下的几种方法:

1、使用Nginx代理转发。
2、sudo启动gunicorn。
3、安装额外的程序。

如果使用方法2,要确保在sudo状态下使用pip安装的gunicorn,否则可能出奇怪问题。

使用pstree -ap|grep gunicorn列出关于gunicorn的所有进程。输出内容是一个树形结构,最小的一级是worker进程,他们的上一级是gunicorn进程。使用kill -HUP [gunicorn的进程ID]杀掉进程。如果该进程还存在上一级进程,使用kill -9 [进程ID]将其彻底关闭。之后再重新执行pstree -ap|grep gunicorn查看一下。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯