gunicorn常用参数命令

2023-11-16

Gunicorn 是一个 Python 的 WSGI HTTP 服务器。具有实现简单,轻量级,高性能等特点。更多介绍内容参考官网,这里介绍几个常用参数。

安装

pip3 install gunicorn

通过输入gunicorn -v查看版本。

最简洁的启动。首先进入到项目目录,例如django项目和manage.py同级目录。

gunicorn <your_project>.wsgi:application --bind 127.0.0.1:8000

其中gunicorn为启动gunicorn服务器。<your_project>则为你的项目名称如faloo_hero。如
在这里插入图片描述
这样启动只有一个进程,开启多进程的参数为–workers=

gunicorn --bind 0.0.0.0:8000 faloo_hero.wsgi:application --workers=4

如上命令就启动了4个并行进程。线上环境通常推荐进程数为cpu数量*2+1 。

上述启动仍然有明显的问题,就是会占用一个终端会话。导致没法执行其他命令,除非用Ctrl+C退出进程。改为为守护进程加上参数nohup &

nohup gunicorn --bind 0.0.0.0:8000 faloo_hero.wsgi:application --workers=4 &

如上命令执行完后我们仍然可以继续在这个终端执行其他命令。
``上述启动之后缺乏日志跟踪,加上如下参数

nohup gunicorn --bind 0.0.0.0:8000 faloo_hero.wsgi:application --log-level=info --workers=4>run.log 2>&1 &

其中–log-level=info为开启日志,通常生产环境为info级别,调试为debug级别。run.log 2>&1 是将标准输出重定向到 run.log 文件中
–log-level 是 设置日志级别的参数,具有以下可选值:

debug:最详细的日志记录级别,通常仅在开发和调试阶段使用。
info:普通信息记录级别,通常用于生产环境中的正常操作和事件记录。
warning:警告记录级别,表示一些不寻常但不是错误的情况。
error:错误记录级别,表示出现错误或异常。
critical:严重错误记录级别,表示可能导致应用程序崩溃的问题。

以上命令会在每次启动的时候重写run.log,如果我们想要追加的方式则只需要在将4后面的>参数改为>>。

nohup gunicorn --bind 0.0.0.0:8000 faloo_hero.wsgi:application --log-level=info --workers=4 >> run.log 2>&1 &

效果如下图
在这里插入图片描述可以查看一下我们的gunicorn进程情况
在这里插入图片描述

其中,一个 Gunicorn 的主进程, 4 个进程是 Gunicorn 的 worker 进程。
使用cat run.log查看日志:
在这里插入图片描述
通过nginx代理或者对外开放该端口。打开网站查看运行情况
在这里插入图片描述
还有更多参数做更多的事情,读者可自行尝试。可参考nginx配置详解

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gunicorn常用参数命令 的相关文章

  • 在子管理中显示父字段(list_display)

    这是 models py 的片段 class Applicant models Model name models CharField email models CharField class Application models Mode
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • django:django.utils.function.SimpleLazyObject 的目的?

    我遇到了分配的问题request user到一个名为prior user 然后基本上对用户进行了身份验证 然后检查是否request user prior user 我预计它们不会相同prior user应包含 AnonymousUser
  • Django:从登录页面重定向登录用户

    我想设置我的网站 以便如果用户点击 login页面并且他们已经登录 它会将他们重定向到主页 如果他们没有登录 那么它将正常显示 既然登录代码内置于 Django 中 我该如何做到这一点 我假设您当前正在使用内置登录视图 r accounts
  • 我应该使用哪个 Linux 发行版作为 Xen 主机? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我为家庭办公室订购了一台服务器 我想用 Xen 对其进行分区 我认为这将使事情保持干净并且更容易维护 我将运行 MySQL PostgreSQL
  • 渲染从 SimpleDocTemplate 构建的 ReportLab pdf

    我有一个 django 应用程序 当前使用用户可以下载的画布生成 pdf 我创建一个 StringIO 缓冲区 执行一些操作 然后发送调用 response write Set up response response HttpRespon
  • 如何从 Linux 的 shell 中删除所有以 ._ 开头的文件?

    确实如标题所示 我已将许多文件从 Mac 复制到 Raspberry Pi 这导致了许多以前缀开头的多余文件 我想删除以以下开头的文件夹中的每个文件 我该怎么做 尝试类似的方法 cd path to directory rm rf 或者 如
  • perf stat中的cycles注释是什么意思

    8 014196 task clock 0 004 CPUs utilized 204 context switches 0 025 M sec 32 cpu migrations 0 004 M sec 0 page faults 0 0
  • 访问 Scrapy 内的 django 模型

    是否可以在 Scrapy 管道内访问我的 django 模型 以便我可以将抓取的数据直接保存到我的模型中 我见过this https scrapy readthedocs org en latest topics djangoitem ht
  • 使用 django-filters 设置初始值?

    当使用Django 过滤器 https django filter readthedocs orgapp 如何设置过滤器中字段的初始值 通常采用标准形式Django 例如一个简单的选择列表形式 class MyForm forms Form
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • 在我的 django 代码中获取 KeyError

    我对 Django 和 Python 都很陌生 所以如果我显得很烦人 请原谅我 我只是被误导了 错误代码 http i gyazo com 68d88cabf536b129dc37cde6c3ae319c png http i gyazo
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • Linux 上的 Python 3.6 tkinter 窗口图标错误

    我正在从 Python GUI 编程手册 学习 Python GUI 某项任务要求我通过将以下代码添加到我的配方中来更改窗口图标 Change the main windows icon win iconbitmap r C Python3
  • coreapi 操作,没有当前文档

    我正在尝试使用 coreapi 和 Django Rest Framework 进行发布 我正在关注这个tutorial https wsvincent com official django rest framework tutorial
  • solr + haystack + django 我在哪里放置 schema.xml?

    我刚刚安装Solr and Haystack for a Django我正在做的项目 下列的this http docs haystacksearch org dev tutorial html Haystack教程 我创建了一个 sche
  • django-tastypie:无法访问脱水中的bundle.request(self,bundle)

    我发现有人有同样的问题 但他的安慰对我不起作用 看Django Tastypie 如何访问 Bundle 中的 Http request 对象 https stackoverflow com questions 7389632 我正在尝试应
  • 我可以在pycharm中的断点处进入交互模式吗

    我是一个相当新的 Pycharm 3 用户 正在从事 django 项目 我可以在 pycharm3 中的断点处进入交互模式吗 这可能吗 当程序在断点处停止时 我尝试过工具 gt 打开调试命令行 但我没有看到控制台打开 我怎样才能让它发挥作
  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she

随机推荐

  • Aspose.Diagram for Java V22.5

    Aspose Diagram for Java V22 5 Aspose Diagram for Java 是一个强大的 Microsoft Visio 文件处理 API 它提供了通用功能 例如创建 操作和转换本机 Visio 格式以及一些
  • 大数据学习脑图以及容易消化的入门教程

    近些年 大数据的火热可谓是技术人都知道啊 很多人呢 也想学习大数据相关 所以 这里分享几个大数据脑图 希望可以让你清楚明白从哪里入门大数据 知道该学习以及掌握哪些知识点 大数据相关脑图 想要在大数据这个领域汲取养分 让自己壮大成长 分享方向
  • sklearn中cross_val_score、cross_val_predict的用法比较

    交叉验证的概念 直接粘贴scikit learn官网的定义 scikit learn中计算交叉验证的函数 cross val score 得到K折验证中每一折的得分 K个得分取平均值就是模型的平均性能 cross val predict 得
  • 排列组合理解SQL JOINS的几种情况

    一 JOIN的三种方式 1 left join 2 right join 3 full join 二 Join的结果 两个集合的join可能出现多少中结果呢 利用数学里的排列组合知识很容易算出来 如上图 join相当于把两个集合分为三个部分
  • opencv光流Optical Flow

    光流Optical Flow 现在四轴飞行器越来越火 如何在室内进行定位呢 不同于传统四轴的姿态控制 电机驱动 室外定位 都有了一套完整的方案 室内定位还是没有完全成熟 目前大四轴可以利用的GPS定高 小四轴比较成熟的也就是光流方案了 先看
  • springboot之接受数据的三种方式:@requestParam,@requestBody和@PathVariable

    前言 作为后端 我们经常需要和前端进行数据之间的交互 而我们从前端获取的方式主要有下面几种 路径中的数据 例如localhost user 2 这时我们需要获得路径上的数字2 存放到url头里的参数例如localhost user name
  • pytorch入门的入门

    DATASETS DATALOADERS 两个有用的 torch utils data DataLoader and torch utils data Dataset 其中Dataset存储样本和标签 就是图片和真值 而DataLoader
  • JDK7下载

    JDK7下载 JDK1 7下载可选择window版和linux版 下载说明文档 判断系统是64位还是32位 Linux下选tar gz好还是rpm 1 windows版JDK1 7 64位下载 点击下载 jdk 7u67 windows x
  • MATLAB/Simulink 使用记录

    1 InitFcn 仿真模块全局变量初始化 启动Run之后可以添加至工作区 右键 Model Perprities Callbacks InitFcn 2 子模块参数输入 右键模块 Mask Edit Mask Parameter Dial
  • java 中各种数据类型的互相转换的常用方法

    java 各种数据类型的互相转换 1 StringBuilder转化为String String str abcdefghijklmnopqrs StringBuilder stb new StringBuilder str 2 整型数组转
  • openCV 3.4.7在Visual Studio 2015中配置

    准备 1 安装openCV3 4 7 https opencv org releases 2 安装visual studio 2015 http c biancheng net view 453 html 开始配置 1 计算机 右键 属性
  • 北邮22级信通院数电:Verilog-FPGA(3)实验“跑通第一个例程”modelsim仿真及遇到的问题汇总(持续更新中)

    北邮22信通一枚 跟随课程进度更新北邮信通院数字系统设计的笔记 代码和文章 持续关注作者 迎接数电实验学习 获取更多文章 请访问专栏 北邮22级信通院数电实验 青山如墨雨如画的博客 CSDN博客 注意 本篇文章所有绝对路径的展示都来自上一篇
  • C语言回调函数学习

    作者 杨硕 华清远见嵌入式学院讲师 对指针的应用是C语言编程的精髓所在 而回调函数就是C语言里面对函数指针的高级应用 简而言之 回调函数是一个通过函数指针调用的函数 如果你把函数指针 函数的入口地址 传递给另一个函数 当这个函数指针被用来调
  • FBX SDK 开发环境配置 visual studio 2022

    FBX Adaptable File Formats for 3D Animation Software Autodesk 下载windows的sdk并安装 创建一个c console 工程 设置include目录 添加预处理宏 FBX S
  • 【前端】html+js+css开发入门超详细介绍

    文章目录 一 HTML 1 1 第一个页面 1 2 所有标签都来一遍 1 3 超链接 1 4 发邮件 1 5 description list描述列表 1 6 blockquote块引用 1 7 linequote 1 8 address
  • dns改成什么网速快_这个DNS服务器不仅更快而且安全

    DNS也就是域名解析服务器 这个东西的存在 使我们上网变得非常方便 再也不需要去记下复杂的IP了 而同样 DNS也影响着我们的网速 那么今天 小编就给大家推荐一个DNS服务器 这个DNS服务器不仅更快 而且更加安全 一起来看看吧 中国互联网
  • gson反序列化成data class时的坑

    前言 在Android开发中 gson是很常用的用来处理json的三方库 它是由Google维护的 一直以来都比较稳定 至少在使用Java开发时是这样的 但是 gson对Kotlin的data class的支持就不是很完善了 会有一些坑 下
  • Java中的多线程(Thread)(一)概念篇

    学习目标 知识点 要求 多线程介绍 了解 线程的创建 掌握 线程的使用 掌握 线程的优先级 掌握 守护线程 掌握 线程同步 掌握 线程并发协作 掌握 一 多线程介绍 多线程的基本概念 程序 Program 是一个静态的概念 一般对应于操作系
  • Hudi 0.12.0 搭建——集成 Hive3.1 与 Spark3.2

    Hudi 搭建 https blog csdn net weixin 46389691 article details 128276527 环境准备 一 安装 Maven 1 解压 2 配置环境变量 3 修改 Maven 下载源 二 安装
  • gunicorn常用参数命令

    Gunicorn 是一个 Python 的 WSGI HTTP 服务器 具有实现简单 轻量级 高性能等特点 更多介绍内容参考官网 这里介绍几个常用参数 安装 pip3 install gunicorn 通过输入gunicorn v查看版本