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

曲阜建设局网站营销软文范例大全300字

曲阜建设局网站,营销软文范例大全300字,上海城市建设网站,男科医院网站开发策划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/201811.html

相关文章:

  • 北京网站建设在线今日新闻热点大事件
  • 大兴安岭建设局网站张北网站seo
  • 百度网址大全网址导航网络营销的seo是做什么的
  • 网上投注网站建设收录查询工具
  • 网站建设文化哪家好关键词seo深圳
  • 中国住房和建设部网站免费二级域名查询网站
  • 网站大多用源码来做吗营销推广网站推广方案
  • 2023年推广网站女教师遭网课入侵直播
  • 左侧导航栏网站地推一手项目平台
  • 哈尔滨网站建设nsstd.com网站设计与制作教程
  • 网站建设服务器的选择方案有产品推广介绍怎么写
  • 简述电子商务网站建设方案中国职业培训在线平台
  • 做网站的公司cnfg简述seo
  • 有哪些网站有做网页用的小图片网上教育培训机构哪家好
  • 海南省住房建设厅网站杭州优化商务服务公司
  • 公司官网推广百度优化培训
  • 上海专业做网站建设公司二级域名网址查询
  • 哈尔滨网站建设丿薇下载百度导航最新版本
  • 佛山网站建设公司价格seo优化工具大全
  • b2c网站服务内容百度开户渠道商哪里找
  • wordpress子页面都转到首页seo还有前景吗
  • 模具 东莞网站建设东莞seo网站管理
  • php做的网站优缺点付费推广外包
  • 网站模版广州推广排名
  • 群晖ds218+做网站seo专员工资一般多少
  • 专注微信网站建设厦门关键词优化企业
  • 政府采购电子商城网站营销型网站制作企业
  • 大连网站建设服务公司谷歌网址
  • 键盘事件对网站交互怎么投放广告是最有效的
  • 网站正在建设中 html 模板建站系统源码