我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Gunicorn运行与配置方法

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Gunicorn运行与配置方法

Gunicorn“绿色独角兽”是一个被广泛使用的高性能的python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能等特点。

安装gunicorn:


$ sudo apt-get update
$ sudo apt-get install gunicorn

运行gunicorn:

$ gunicorn [OPTIONS] 模块名:变量名

模块名是python文件名,可以是完整的路径+python文件名;变量名是pythWsLFNHon文件中可调用的WSGI(Web Server Gateway ).

示例:


# filename:test.py
def app(environ, start_response):
"""Simplest possible application object"""
data = 'Hello, World!\n'
status = '200 OK'
response_headers = [
('Content-type','text/plain'),
('Content-Length', str(len(data)))
]
starWsLFNHt_response(status, response_headers)
return iter([data])

运行app:

$ gunicorn --workers=2 test:app

常用配置参数:

-c CONFIG, --config=CONFIG

指定一个配置文件(py文件).

-b BIND, --bind=BIND

与指定socket进行绑定.

-D, --daemon

以守护进程形式来运行Gunicorn进程,其实就是将这个服务放到后台去运行。

-w WORKERS, --workers=WORKERS

工作进程的数量。上边提到gunicorn是一个pre-fork worker模式,就是指gunicorn启动的时候,在主进程中会预先fork出指定数量的worker进程在处理请求时,gunicorn依靠操作系统来提供负载均衡,通常推荐的worker数量是:(2 x $num_cores) + 1

-k WORKERCLASS, --worker-class=WORKERCLASS

工作进程类型. 包括 sync(默认), eventlet, gevent, or tornado, gthread, gaiohttp.

--backlog INT

最大挂起的连接数.

--chdir

切换到指定的工作目录.

--log-level LEVEL

输出error log的颗粒度,有效的LEVEL有:

debug
info
warning
error
critical
--access-logfile FILE

确认要写入Access log的文件FILE. '-' 表示输出到标准输出.

--error-logfile FILE, --log-file FILE

确认要写入Error log的文件FILE. '-' 表示输出到标准错误输出.

gunicorn配置

Gunicorn从三个不同地方获取配置:

框架设置(通常只影响到Paster应用)

配置文件(python文件):配置文件中的配置会覆盖框架的设置。

命令行

框架设置只跟Paster(一个Web框架)有关,不讨论;命令行配置如上部分所示;现在我们看下怎么用配置文件配置gunicorn:

配置文件必须是一个python文件,只是将命令行中的参数写进py文件中而已,如果需要设置哪个参数,则在py文件中为该参数赋值即可。例如:


# example.py
bind = "127.0.0.1:8000"
workers = 2

运行gunicorn:

$ gunicorn -c example.py test:app

等同于:

$ gunicorn -w 2 -b 127.0.0.1:8000 test:app

当然,配置文件还能实现更复杂的配置:


# gunicorn.py
import logging
import logging.handlers
from logging.handlers import WatchedFileHandler
import os
import multiprocessing
bind = '127.0.0.1:8000'   #绑定ip和端口号
backlog = 512        #监听队列
chdir = '/home/test/server/bin' #gunicorn要切换到的目的工作目录
timeout = 30   #超时
worker_class = 'gevent' #使用gevent模式,还可以使用sync 模式,默认的是sync模式
workers = multiprocessing.cpu_count() * 2 + 1  #进程数
threads = 2 #指定每个进程开启的线程数
loglevel = 'info' #日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'  #设置gunicorn访问日志格式,错误日志无法设置
"""
其每个选项的含义如下:
h     remote address
l     '-'
u     currently '-', may be user name in future releases
t     date of the request
r     status line (e.g. ``GET / HTTP/1.1``)
s     status
b     response length or '-'
f     referer
a     user agent
T     request time in seconds
D     request time in microseconds
L     request time in decimal seconds
p     process ID
"""
accesslog = "/home/test/server/log/gunicorn_access.log"   #访问日志文件
errorlog = "/home/test/server/log/gunicorn_error.log"    #错误日志文件

参考官网

总结

以上所述是小编给大家介绍的Gunicorn运行与配置方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

免责声明:

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

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

Gunicorn运行与配置方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Gunicorn运行与配置方法

Gunicorn“绿色独角兽”是一个被广泛使用的高性能的python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能
2022-06-04

Gunicorn Django部署配置方法

1. 简单部署1. sudo pip3 install gunicorn 2. cd 到django项目中 sudo python3 manage.py migrate 3.启动服务:sudo python3 manage.py runse
2022-06-04

Java springboot配置文件、多环境配置与运行优先级的方法是什么

本篇内容主要讲解“Java springboot配置文件、多环境配置与运行优先级的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java springboot配置文件、多环境配置与运行
2023-07-05

Javaspringboot配置文件与多环境配置与运行优先级

这篇文章主要介绍了Javaspringboot如何配置文件,进行多环境配置,以及运行优先级,感兴趣的小伙伴可以借鉴一下
2023-05-14

python添加运行配置的方法是什么

要在Python中添加运行配置,可以使用以下方法之一:1. 使用命令行参数:在命令行中运行Python脚本时,可以添加参数来配置运行。例如,可以使用`python script.py --config=config.json`来指定一个配置
2023-09-25

Linux CentOS 定时运行脚本配置的方法

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如使用七牛的工具上传,如果同步文件里面有新增加一个文件,这个时候我们可以提供定时脚本去完成我们需要的同步命令(七牛的qrsbox工具是自动会同步的,只需要在同步文件夹里面增加一个文
2022-06-04

PHP 运行原理与服务器配置

php 是一种服务器端编程语言,在服务器上运行,遵循请求处理、脚本装载、解释执行和发送响应的步骤。服务器配置包括:apache:使用 php.ini 配置文件和 mod_php 模块。nginx:使用 php-fpm 进程管理器和 ngin
PHP 运行原理与服务器配置
2024-05-01

win10配置jdk后javac无法运行

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定
win10配置jdk后javac无法运行
2017-03-09

详解如何进行Java环境配置与编译运行

小编这次要给大家分享的是详解如何进行Java环境配置与编译运行,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。一、开篇通过对之前Java之路的了解之后,相信初学者们都对Java有了一个比较深印象的了解了
2023-05-31

Python配置与OpenCV进行配置

最近学习机器学习手写数字识别的过程中需要安装Python与OpenCV,并在Pycharm上运行,在安装配置过程中遇到了很多问题,为此将解决办法记录下来。一、首先需要安装Python:https://www.python.org/downl
2023-01-31

Spring Boot 与 mybatis配置方法

1.首先,spring boot 配置mybatis需要的全部依赖如下:org.springframework.boot
2023-05-31

Win7下启用IIS7配置ASP运行环境的详细方法

第一次在Windows7下配置IIS,虽然有丰富的xp下配置IIS的经验,但还是会遇到不少的问题。特别是对入门者来说,搞清一些东西还是挺费时间的。其实win7下的IIS7配置过程是非常简单的。下面让seo博客来详细的介绍一下win7下配置I
2023-05-30

MAC配置JDK运行环境

文章目录 前言一、准备安装包二、配置JAVA_HOME1.解压JDK到指定文件夹2.配置环境 三、常见问题1.访问受限问题2.重启终端环境变量失效 总结 前言 作为一名JAVA开发人员,入手一台新电脑后免不了要配置JD
2023-08-21

IDEA导入web项目并配置运行的方法是什么

要将一个web项目导入到IDEA并配置运行,可以按照以下步骤进行:1. 打开IDEA,点击"File"菜单,选择"Open"或"Import"选项,找到项目所在的文件夹并选择。2. 在导入过程中,IDEA会自动检测项目类型,并配置相关的依赖
2023-08-08

运行Git前怎么配置

这篇文章主要讲解了“运行Git前怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“运行Git前怎么配置”吧!gitee是开源中国社区2013年推出的基于Git的代码托管服务;gitee主
2023-07-05

python运行配置如何调

调整Python运行配置的方式取决于您正在使用的Python集成开发环境(IDE)或编辑器。以下是一些常见的Python IDE和编辑器的配置方式:PyCharm:在PyCharm中,您可以通过选择“Run”菜单下的“Edit Config
python运行配置如何调
2024-02-29

pycharm运行配置怎么调

在 pycharm 中配置运行配置:创建运行配置:在“run/debug configurations”对话框中,选择“python”模板。指定脚本和参数:指定要运行的脚本路径和命令行参数。设置运行环境:选择 python 解释器并修改环境
pycharm运行配置怎么调
2024-04-25

编程热搜

目录