设置nginx连接uWSGI的配置(nginx-uwsgi-django)

这篇具有很好参考价值的文章主要介绍了设置nginx连接uWSGI的配置(nginx-uwsgi-django)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:non_idempotent是指POST、LOCK、PATCH请求方法的处理。
2:uwsgi_cache与uwsgi_store指令不可在同一指令域中同时使用。
3:除uwsgi_cache_path指令外,uWSGI模块指令均可编写在http、server、location指令域中。
4:uwsgi_cache_path指令只能编写在http指令域中。

uWSGI模块配置指令

指令名称 指令值格式 默认值 指令说明
uwsgi_bind address[transparent]或 off 设置从指定的本地IP 地址及端口号与uWSGI服务器建立连接,
指令值可以是变量。
当指令值为 transparent时、允许将客广端的真实 IP 透传给uWSGI服务器,
并以客户端真实IP为访问uWSGI服务器的源IP;
当指令值为 off 时,则取消上一层指令域同名指令的配置
uwsgi_buffering on 或off on 设置是否启用响应数据缓冲区
uwsgi_buffers number_size 8 4k或8k 没置单个连接从uWSGI服务器接收响应数据缓冲区的数量及单个缓冲区的大小,
至少是两个
uwsgi_buffer_size size 4k或8k 设置用于读取 uWSGI 服务器响应数据第一部分的缓冲区大小,
默认值根据操作系统平台的不同为 4KB或 8KB
uwsgi_busy_buffers_size size 8k或16k 限制在响应数据未完全读取完毕时忙于向客户端发送响应的缓冲区的大小,
以使其余的缓冲区用于读取响应数据。
该值必须大于单个缓冲区或uwsgi_buffer_size 的大小,
小于总缓冲区大小减掉一个缓冲区的大小
uwsgi_limit_rate rate 0 限制从uWSGT服务器读取响应的每个请求的速率,单位是字节/秒,指令值为 0表示不限制,
该指令只在uwsgi_buffering启用时有效
uwsgi_temp_file_wrile_size size 1024m 限制一次写入临时文件的数据大小。
默认配置下,大小通过uwsgi-buffer-size 和
uwsgi-buffers 配置指令进行限制,
最大值是uwsgi_max_temp_file_size 指令的值.
最小值必须大于单个缓冲区或 uwsgi_buffer_size 的大小
uwsgi_temp_path path [level1 [level2 [level3]]] uwsgi_temp 设置临时文件存储目录
uwsgi_request_buffering on或off on 设置是否在将请求转发给 uWSGI服务器之前先从客户端读取整个请求体.
若禁用该功能,如果已经发送请求主体,则无法将请求传递到下一个服务器。
对于基于HTTP/1.1 协议的分块传输请求,会强制读取完整请求体
uwsgi_store on或off或string off 设置是否将uWSGI服务器的响应数据在本地持久存储。
当指令值为on 时,存储路径为 root或alias 的设置。
该指令可以为不经常变更的 uWSGI服务器响应文件创建本地镜像。
响应数据先存储到临时文件中再进行复制或重命名存储
uwsgi_store_access users:permissions… user:rw 设置创建持久存储路径的文件夹权限
uwsgi_cache zone或 off off 设置一个共享内存 zone 用作缓存
uwsgi_cache_path path 参数 设置缓存文件存储路径及参数。
缓存数据以URI的MD5值命名并存储在缓存目录中。
指令值参数请参考uwsgi_cache_path指令值参数
uwsgi_cache_bypass string·· 设置不使用缓存响应数据的条件,
指令值中至少一个值不为空或0时,
则当前请求不使用缓存中的响应数据
uwsgi_cache_key string 设置缓存的关键字
uwsgi_cache_lock on或off off 是否启用缓存锁指令。
向uWSGI服务器发送请求时,
每次只允许一个请求按照uwsgi_cache_key 指令设置的标识增添新的缓存数据,
其他相同的请求将等待缓存中出现响应数据或该缓存锁被释放,
等待时间通过 uwsgi_cache_lock_timeout 指令设置
uwsgi_cache_lock_age time 5s 如果一个请求在该指令设定的时间内没有完成响应数据缓存的添加,
则向 uWSGI 服务器再发送一次请求
uwsgi_cache_lock_timeout time 5s 缓存锁超时时间。
超过该时间的请求将直接从 uWSGI服务器读取响应
uwsgi_cache_max_range_offset numher 用于设置范围请求请求时的最大偏移量。
超出该偏移量的请求将直接从uWSGI服务器读取响应
uwsgi_cache_methods GET、HEAD 或POST··· GET HEAD 指定可被缓存的请求方法列表
uwsgi_cache_min_uses number 1 响应数据超过设置请求次数后将被缓存
uwsgi_no_cache string·· 指定字符串的值不为空或不等于 0,则不对当前请求的响应数据进行缓存
uwsgi_cache_purge string·· 定义清除缓存请求条件,若指定的字符串不为空或 0,则对uwsgi_cache_key 设置的标识的缓存进行清除。清除成功则返回状态码 204。仅商业版有效
uwsgi_cache_revalidate on或off off 设置在HTTP头中有字段属性If-Modified-Since 和If-None-Match 时是否启用重新验证
uwsgi_cache_use_stale error 、
timeout、
invalid_header、
updating、
http_500、
http_503、
http_403 、
http_404、
http_429、
off
off 当出现指定的条件时,使用已经过期的缓存响应数据
uwsgi_cache_background_update on或off off 允许使用过期的响应数据时,
设置是否启用后台子请求更新过期缓存,
同时向客户端返回过期的缓存响应数据
uwsgi_cache_valid [code…] time 根据响应码设置缓存时间
uwsgi_pass address 设置uWSGI服务器的协议、
IP 地址或套接字,
也可以是域名或upstream 定义的服务器组。
支持的协议有HTTP、uWSGI、suwsgi(于 SSL的uWSGI)
uwsgi_pass_request_body on或 off on 设置是否将客户端请求体传递给uWSGI服务器
uwsgi_pass_request_headers on或 off on 设置是否将客户端请求头传递给uWSGI服务器
uwsgi_force_ranges on或 off off 无论uWSGI服务器的HTTP 响应头中是否有字段Accept-Ranges,都启用 byte-range 请求支持
uwsgi_hide_header field 指定uWSGI服务器响应数据中不向客户端传递的HTTP 头字段名称
uwsgi_pass_header field 默认配置下,
Nginx不会将头字段属性Status 和X-Accel-···传递给客户端,
可通过该指令开放传递
uwsgi_ignore_headers field… 设置禁止Nginx处理从uWSGI服务器获取响应的头字段
uwsgi_modifier1 number 0 设置uWSGI数据包头中 modifier1 字段的值
uwsgi_modifier2 number 0 设置uWSGI数据包头中 modifier2 字段的值
uwsgi_connect_timeout time 60s Nginx与uWSGI服务器建立连接的超时时间,通常不超过75s
uwsgi_ignore_client_abort on或 off off 当客户端关闭连接时,是否关闭与uWSGI服务器的连接
uwsgi_read_timeout time 60s 在连续两个从uWSGI服务器接收数据的读操作之间的间隔时间超过设定的时间时,
将关闭连接
uwsgi_send_timeout time 60s 在连续两个发送到uWSGI 服务器的写操作之间的间隔时间超过设定的时间时,
将关闭连接
uwsgi_socket_keepalive on或off off 设置是否对uWSGI服务器的连接启用 so-keepalivesocket 选项
uwsgi_intercept_errors on或off off 在uWSGI服务器响应数据中响应码大于或等于300时,
设置是直接传递给客户端还是重定向给 Nginx,
以便error_page指令进行处理
uwsgi_next_upstream error、
timeout、
invalid_header、
http_500、
http_503、
http_403、
http_404、
http_429、
non_idempotent、
off…
error timeout 当出现指定条件时,将未返回响应的客户端请求传递给upstream中的下一个服务器
uwsgi_next_upstream_timeout time 0 设置将符合条件的请求传递给 upstream 中的下一个服务器的超时时间。
指令值为0时关闭该限制。
uwsgi_next_upstream_tries number 0 设置将符合条件的请求传递给 upstream 中的下一个服务器的尝试次数。
指令值为 0 时关闭该限制。
uwsgi_param parameter value[if_not_empty] 设置发送请求到uWSGI 服务器时传递的请求参数。
指令值为 if_not_empty 时,表示传递的参数值不为空时才进行传递
uwsgi_ssl_certificate file 指定用于安全uWSGI服务器SSL身份认证的PEM格式服务器证书文件
uwsgi_ssl_certificate_key file 指定用于安全uWSGI服务器SSL身份认证的PEM格式服务器证书密钥文件
uwsgi_ssl_password_file file 指定一个包含服务器证书密钥密码的文件。
文件中每行一个密码,Nginx 将遍历整个文件并尝试有效的密码
uwsgi_ssl_ciphers ciphers DEFAULT 指定用于安全uWSGI服务器 SSL请求的 OpenSSL 格式密码套件
uwsgi_ssl_crl file 指定用于验证安全uWSGI服务器SSL证书的PEM格式吊销证书文件
uwsgi_ssl_trusted_certificate file 指定用于验证安全uWSGI服务器SSL证书的PEM格式CA 证书文件
uwsgi_ssl_name name uwsgi_pass指令指定的主机 允许指定并覆盖安全uWSGI 服务器 SSL证书验证的主机名,
将通过 SNI向建立连接的SSL安全uWSGI服务器进行传递
uwsgi_ssl_protocols [SSLv2]
[SSLv3]
[TLSv1]
[TLSv1.1]
[TLSv1.2]
[TLSv1.3]
TLSv1
TLSv1.1
TLSv1.2
指定安全uWSGI服务器 SSL 协议的版本
uwsgi_ssl_server_name on或 off off 启用通过SNI或 RFC 6066 向建立连接的SSL安全uWSGI服务器传递主机名
uwsgi_ssl_session_reuse on或 off off 启用 SSL会话重用功能
uwsgi_ssl_verify on或 off off 启用安全uWSGI服务器的证书验证功能
uwsgi_ssl_vcrify_denth number 1 设置安全uWSGI 服务器的证书链的验证深度

uwsgi_cache_path指令值参数文章来源地址https://www.toymoban.com/news/detail-582515.html

参数名 参数格式 默认值 参数说明
levels levels 设置缓存目录的层级及命名方式
use_temp_path on 或off on 当指令值为on 时,使用 uwsgi_temp_path 设置作为临时文件目录;
当指令值为 off 时,使用缓存目录作为临时文件目录
keys_zone name:size 设置存储 cache_key 的共享内存 zone 及其大小,
1MB 内存可以存储8000个key
inactive time 10m 设定时间内未被访问的缓存将被删除
max_size size 缓存数据的最大值,超出设定的最大值时将执行一次迭代更新,
并删除最近使用最少的缓存数据
manager_files number 100 执行一次迭代更新时删除文件的最大数
manager_sleep time 50ms 连续两次迭代更新间的最短时间间隔
manager_threshold time 200ms 执行一次迭代更新时的最大执行时间
loader_files number 100 每次迭代加载时,加载缓存目录中缓存数据的最大文件数
loader_sleep time 50ms 连续两次迭代加载间的最短时间间隔
loader_threshold time 200ms 每次迭代加载时的最大执行时间
purger on 或off off 是否启用缓存清除功能。仅商业版有效
purger_files number 10 每次迭代清除时,清除缓存目录中缓存数据的最大文件数。仅商业版有效
purger_sleep time 50ms 连续两次迭代清除间的最短时间间隔。仅商业版有效
purger_threshold time 50ms 每次迭代清除时的最大执行时间。仅商业版有效

到了这里,关于设置nginx连接uWSGI的配置(nginx-uwsgi-django)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django使用uwsgi+nginx部署,admin没有样式解决办法

    若在服务器上部署的项目admin没有样式,则检查下一下配置: settings uwsgi.ini urls nginx.conf } 如果使用了虚拟环境则修改nginx.conf文件中的/static/路径为你虚拟环境的路径,没有使用虚拟环境则改为你python安装路径下的static 修改完后,cd/usr/sbin,使用./nginx -s reload,重启nginx,重启项目

    2024年02月14日
    浏览(29)
  • Ubuntu纯净服务器系统使用Nginx+uwsgi部署django项目

    当前文章依赖最新的ubuntu-22.04.3-live-server-amd64服务器系统,python3-10版本,django为5.0版! 该服务器系统我们可以通过虚拟机来在本地安装,也可以使用云服务器,操作方式方法大同小异! 这里我们以开源项目baykeshop为基础来演示! 开源地址:baykeShop: baykeshop是一款python栈采用

    2024年01月17日
    浏览(33)
  • 2-Docker-应用-多容器部署Django+Vue项目(nginx+uwsgi+mysql)

    基于Linux CentOS 7系统(虚拟机),使用Docker,多容器部署Django+Vue项目 整体部署用到了:Django+Vue+nginx+mysql+uwsgi 先每一个容器单独部署,最后用Docker compose 语法整合,统一部署 参考文章:https://blog.csdn.net/qq_45445505/article/details/135563784 章标题:Docker介绍 节标题:Docker安装 总结梳

    2024年03月10日
    浏览(81)
  • Python对接微信小程序V3接口进行支付,并使用uwsgi+nginx+django进行https部署

    网上找了很多教程,但是很乱很杂,并且教程资源很少且说的详细。这里就记录一下分享给大家 共分为以下几个步骤: 目录 一、开始前准备信息 二、使用前端code获取用户的openid 三、对接小程序v3接口下单 四、小程序支付的回调 五、安装并启动uwsgi 六、安装并启动nginx 七、

    2024年02月12日
    浏览(33)
  • 【学习心得】如何用uwsgi快速部署Django

    问题描述: 有时候,只想快速的部署一个Django项目实现项目迭代开发。本文介绍不使用Nginx只用uwsgi如何实现Django项目的快速部署。 如果还不会创建Ubuntu中的Python虚拟环境,可以参考我之前的文章: 【学习心得】Linux下的Python虚拟环境搭建_linux python虚拟环境搭建 优点:最简

    2024年02月12日
    浏览(31)
  • flask、uwsgi、nginx 部署

    1.  安装: 2. 基于flask编写例子hello.py,然后保存在/opt/txt/目录下: 3. 编写uwsgi的配置文件uwsgi.ini,如下所示: 4. 修改nginx配置文件,在/etc/nginx/nginx.conf  注释掉/etc/nginx/nginx.conf的第一行——user nginx;并换成user root; 5. 启动uwsgi: 6. 启动nginx:

    2024年02月15日
    浏览(34)
  • linux centos7 django uwsgi 部署

    安装这里就不多说,直接配置问题及所遇到问题总结 django 项目 manage.py目录新建uwsgi.ini文件 uwsgi配置 [uwsgi] socket = 127.0.0.1:9000 # uwsgi直接访问用http,nginx访问用socket http= 127.0.0.1:9000 chdir = /usr/local/www/项目目录 wsgi-file = /usr/local/www/项目目录/项目目录/wsgi.py module = 项目目录.wsgi

    2024年01月21日
    浏览(33)
  • Django笔记四十三之使用uWSGI部署Django系统

    本文首发于公众号:Hunter后端 原文链接:Django笔记四十三之使用uWSGI部署Django系统 目前部署 Django 的方式一般来说是使用 Nginx + uWSGI + Django 来实现。 处理流程是,当一个请求发送过来会先经过 Nginx,如果是静态文件请求,Nginx 这一层直接处理,如果是后端动态接口,则会发送

    2024年02月05日
    浏览(47)
  • nginx+flask+uwsgi部署遇到的坑

    centos8 uWSGI 2.0.22 gmssl 3.2.2 nginx version: nginx/1.18.0 项目目录: 如果lsof -i:8000查看的时候显示进程被nginx使用才是正常的,如果不是就是你的nginx有问题 1.查看网络是否通畅 2.查看端口是否通畅 3.nginx是否正常运行(查询配置的端口具体是否被nginx监听中) 4.查看ini配置中的日志具体

    2024年02月14日
    浏览(31)
  • Flask 生产环境部署(Falsk + uWSGI + nginx)

    最近自己做了个 Falsk 小项目,在部署上服务器的时候,发现虽然不乏相关教程,但大多都是将自己项目代码复制出来,不讲核心逻辑,不太简洁,于是将自己部署的经验写成内容分享出来。 uWSGI : 一种实现了多种协议(包括 uwsgi、http)并能提供服务器搭建功能的 Python 包 D

    2024年04月14日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包