描述:
问题:什么原因导致504,往哪个方向大概率复现
技术:
nginx + gunicorn + django
nginx与这个接口相关的错误日志如下,下面这个warn也没看懂,这个配置怎么会报这个warning,错误日志没有504相关内容
2023/07/08 20:42:03 [warn] 5629#5629: *6150342 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000049, client: 10.xxx.xxx.34, server: www.xxx.com, request: "POST /xxx/ HTTP/1.1", host: "www.xxx.com", referrer: "https://www.xxx.com/xxx/"
nginx日志如下:
60.191.37.34 - - [08/Jul/2023:20:43:38 +0800] "POST /xxx/ HTTP/1.1" 499 0 "https://www.xxx.com/submitsql/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" "192.168.142.31"
线上ngxin 配置如下
与此网站相关配置如下
server{
listen 9100 ssl; # 监听的端口
server_name www.xxx.com;
client_max_body_size 2050M; # 处理Request Entity Too Large
client_body_buffer_size 1024K;
proxy_read_timeout 600s; # 超时时间与Gunicorn超时时间设置一致,主要用于在线查询
ssl_certificate /etc/xxx/xxx.crt;
ssl_certificate_key /etc/xxx/xxx.key;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host:9100; # 解决重定向404的问题,和listen端口保持一致,如果是docker则和宿主机映射端口保持一致
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /static {
alias /data/xxx/static; # 此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源
# alias /data/xxx/static; # 此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源
}
location /web {
alias /data/xxx/dist/;
autoindex on;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
location /documentation {
#root /home/xxx/documentation/dist/;
alias /data/xxx/dist/;
autoindex on;
index index.html index.htm;
}
# error_page 404 /404.html;
# location = /40x.html {
# }
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
}
你上面的警告,你得先增加 client_body_buffer_size 的值,让请求可以被缓存到内存中,而不是写入到磁盘上,增加一下gunicorn的工作进程数量。这样可以让gunicorn能够处理更多的并发请求
本文向大家介绍nginx 504 Gateway Time-out错误解决方法,包括了nginx 504 Gateway Time-out错误解决方法的使用技巧和注意事项,需要的朋友参考一下 一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 G
本文向大家介绍Nginx服务器中414错误和504错误的配置解决方法,包括了Nginx服务器中414错误和504错误的配置解决方法的使用技巧和注意事项,需要的朋友参考一下 414 Request-URI Too Large 当http 的URI太长或者request header过大时会报414 Request URI too large或400 bad request错误。 可能原因 场景1.c
Nginx 错误日志是运维人员最常见但又极其容易忽略的日志类型之一。Nginx 错误日志即没有统一明确的分隔符,也没有特别方便的正则模式,但通过 logstash 不同插件的组合,还是可以轻松做到数据处理。 值得注意的是,Nginx 错误日志中,有一类数据是接收过大请求体时的报错,默认信息会把请求体的具体字节数记录下来。每次请求的字节数基本都是在变化的,这意味着常用的 topN 等聚合函数对该字段
本文向大家介绍一次nginx 504 Gateway Time-out错误排查、解决记录,包括了一次nginx 504 Gateway Time-out错误排查、解决记录的使用技巧和注意事项,需要的朋友参考一下 记一次莫名其妙的网站失去响应排查。之前网站一直是使用nginx做代理后端的apache运行php来提供服务。apache经常会不定期不定时间的出现不能服务失去响应,然后nginx出现"50
amh的报504怎么弄
本地开发环境php+nginx出现504超时? 环境:thinkphp6, php7.3,nginx1.15 放大: nginx的请求超时和加载超时