当前位置: 首页 > wzjs >正文

网站模板开发平台怎么做社群营销活动策划方案

网站模板开发平台怎么做,社群营销活动策划方案,除了亚马逊还有啥网站做海淘,邢台123招聘信息今天Gunicorn 配置文件参数详解 Gunicorn (Green Unicorn) 是一个用于 UNIX 系统的 Python WSGI HTTP 服务器,以下是其配置文件中的主要参数及其用法说明: 基础配置参数 1. 绑定地址和端口 bind (字符串): 指定服务器绑定地址和端口 格式: [HOST]:PORT 或…

Gunicorn 配置文件参数详解

Gunicorn (Green Unicorn) 是一个用于 UNIX 系统的 Python WSGI HTTP 服务器,以下是其配置文件中的主要参数及其用法说明:

基础配置参数

1. 绑定地址和端口

  • bind (字符串): 指定服务器绑定地址和端口

    • 格式: [HOST]:PORT 或 unix:PATH

    • 示例: bind = "0.0.0.0:8000" 或 bind = "unix:/tmp/gunicorn.sock"

    • 默认: "127.0.0.1:8000"

2. 工作进程配置

  • workers (整数): 工作进程数量

    • 建议值: CPU核心数 × 2 + 1

    • 示例: workers = 3

    • 默认: 1

  • worker_class (字符串): 工作进程类型

    • 选项: sync (同步), gthread (线程), gevent (协程), uvicorn.workers.UvicornWorker (ASGI)

    • 示例: worker_class = "gthread"

    • 默认: "sync"

  • threads (整数): 每个工作进程的线程数

    • 仅当使用 gthread 工作器时有效

    • 示例: threads = 4

    • 默认: 1

性能和资源参数

3. 超时控制

  • timeout (整数): 工作进程无响应超时时间(秒)

    • 超时后工作进程将被重启

    • 示例: timeout = 30

    • 默认: 30

  • graceful_timeout (整数): 优雅关闭超时时间(秒)

    • 工作进程收到停止信号后完成当前请求的时间

    • 示例: graceful_timeout = 30

    • 默认: 30

  • keepalive (整数): 保持连接的时间(秒)

    • 示例: keepalive = 2

    • 默认: 2

4. 资源限制

  • worker_connections (整数): 每个工作进程的最大并发连接数

    • 示例: worker_connections = 1000

    • 默认: 1000

  • max_requests (整数): 工作进程处理的最大请求数

    • 达到此数后工作进程自动重启,防止内存泄漏

    • 示例: max_requests = 1000

    • 默认: 0 (无限制)

  • max_requests_jitter (整数): 最大请求数的随机波动范围

    • 避免所有工作进程同时重启

    • 示例: max_requests_jitter = 50

    • 默认: 0

日志配置参数

5. 日志输出

  • accesslog (字符串): 访问日志文件路径

    • "-" 表示输出到标准错误

    • 示例: accesslog = "/var/log/gunicorn/access.log" 或 accesslog = "-"

    • 默认: None (不记录访问日志)

  • errorlog (字符串): 错误日志文件路径

    • 示例: errorlog = "/var/log/gunicorn/error.log"

    • 默认: "-" (输出到标准错误)

  • loglevel (字符串): 日志级别

    • 选项: debuginfowarningerrorcritical

    • 示例: loglevel = "info"

    • 默认: "info"

6. 日志格式

  • access_log_format (字符串): 访问日志格式

    • 常用变量: %h (客户端地址), %l (用户名), %u (认证用户名), %t (时间), %r (请求行), %s (状态码), %b (响应大小)

    • 示例: access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'

安全相关参数

7. 权限控制

  • user (整数/字符串): 运行工作进程的用户ID或用户名

    • 需要以root启动Gunicorn

    • 示例: user = "nobody" 或 user = 65534

    • 默认: 当前用户

  • group (整数/字符串): 运行工作进程的组ID或组名

    • 示例: group = "nogroup" 或 group = 65534

    • 默认: 当前组

  • umask (整数): 工作进程的文件模式创建掩码

    • 八进制格式: umask = 0o007

    • 默认: 0

高级配置参数

8. 进程管理

  • daemon (布尔): 是否以守护进程方式运行

    • 示例: daemon = True

    • 默认: False

  • pidfile (字符串): PID文件路径

    • 示例: pidfile = "/var/run/gunicorn.pid"

    • 默认: None

  • worker_tmp_dir (字符串): 工作进程临时目录

    • 使用内存文件系统可提高性能

    • 示例: worker_tmp_dir = "/dev/shm"

9. 请求处理

  • limit_request_line (整数): 请求行的最大字节数

    • 示例: limit_request_line = 4094

    • 默认: 4094

  • limit_request_fields (整数): 请求头字段的最大数量

    • 示例: limit_request_fields = 100

    • 默认: 100

  • limit_request_field_size (整数): 单个请求头字段的最大字节数

    • 示例: limit_request_field_size = 8190

    • 默认: 8190

import multiprocessing
import signal
import sys
import os
import gevent.monkey
gevent.monkey.patch_all()def handle_exit(server):print("收到退出信号,开始优雅退出...")# 发送 SIGTERM 给所有工作进程server.kill_workers(signal.SIGTERM)# 等待所有工作进程退出print("所有工作进程已退出")sys.exit(0)# 注册主进程退出钩子
def when_ready(server):signal.signal(signal.SIGINT, lambda s, f: handle_exit(server))signal.signal(signal.SIGTERM, lambda s, f: handle_exit(server))# ========== 基础配置 ==========
# 绑定地址和端口
bind = "0.0.0.0:8000"# 工作进程配置
workers = multiprocessing.cpu_count() * 2 + 1  # 自动计算工作进程数
worker_class = "gthread"  # 使用线程工作器
threads = 4  # 每个工作进程的线程数# ========== 超时控制 ==========
timeout = 30  # 工作进程无响应超时
graceful_timeout = 30  # 优雅关闭超时
keepalive = 2  # 保持连接时间# ========== 资源限制 ==========
worker_connections = 1000  # 每个工作进程的最大并发连接数
max_requests = 1000  # 工作进程处理的最大请求数
max_requests_jitter = 50  # 最大请求数的随机波动范围# ========== 日志配置 ==========
accesslog = "-"  # 访问日志输出到stdout
errorlog = "-"  # 错误日志输出到stderr
loglevel = "info"  # 日志级别
access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'# ========== 安全配置 ==========
user = "nobody"  # 运行工作进程的用户
group = "nogroup"  # 运行工作进程的组
umask = 0o007  # 文件模式创建掩码# ========== 高级配置 ==========
daemon = False  # 不以守护进程运行
pidfile = "/var/run/gunicorn.pid"  # PID文件路径
worker_tmp_dir = "/dev/shm"  # 工作进程临时目录# 请求处理限制
limit_request_line = 4094  # 请求行最大字节数
limit_request_fields = 100  # 请求头字段最大数量
limit_request_field_size = 8190  # 单个请求头字段最大字节数# ========== 钩子函数 ==========
def on_starting(server):print("🚀 Gunicorn starting...")def when_ready(server):print(f"✅ Gunicorn ready. Serving on {server.cfg.bind}")def pre_fork(server, worker):print(f"🔧 About to fork worker {worker.pid}")def post_fork(server, worker):print(f"👷 Worker {worker.pid} forked")def worker_int(worker):print(f"🛑 Worker {worker.pid} received INT or QUIT signal")def worker_exit(server, worker):print(f"👋 Worker {worker.pid} exited")def on_exit(server):print("👋 Gunicorn exiting...")

http://www.dtcms.com/wzjs/45162.html

相关文章:

  • apache网站拒绝访问郑州网站seo优化公司
  • 外贸php网站源码谷歌优化排名哪家强
  • github建wordpress正规seo关键词排名网络公司
  • 网站的代理页面怎么做的兰州seo外包公司
  • 网站建设思路设计地推平台去哪里找
  • 江苏公司网站建设网络营销渠道策略研究
  • 自己能否建设网站免费下载官方百度
  • 备案主体负责人 网站负责人网络科技公司经营范围
  • 最火爆的国际贸易网站怎么做网页宣传
  • 河池公司做网站长沙seo免费诊断
  • wordpress数据库更改账号密码seo优化专员工作内容
  • 室内设计师上网第一站seo短视频发布页
  • 文化馆互联网站建设方案互联网推广运营是做什么的
  • 唐山做网站的公司百度手机提高关键词排名
  • 摄影网站源码 国外如何做好一个营销方案
  • 常熟做网站推广的优化关键词有哪些方法
  • 线上推广引流是做网站吗it培训机构排行榜
  • 网站建设的搜索语句上海网站seo招聘
  • 删除西部数码网站管理助手百度一下百度主页
  • 帮别人做彩票网站吗网站推广软件
  • 阿里云上可以做网站吗上海培训机构
  • 影视logo免费设计seo网络推广怎么做
  • 精装房软装设计公司山西seo推广
  • 阳泉建设网站的公司2023年国家免费技能培训
  • 网站建设需要哪些东西站长工具排行榜
  • 万网域名注册官网中文域名优化官网咨询
  • 网站注册 优帮云如何自己做一个网页
  • 网站建设 网站新产品推广方案怎么写
  • ps教程自学网官网百度seo优化怎么做
  • 做机械出口用哪个网站好东莞网络公司排行榜