重生之我是Nginx服务专家

nginx服务访问页面白色

问题描述

访问一个域名服务返回页面空白,非响应404。报错如下图。

排查问题

域名解析正常,网络通讯正常,绕过解析地址访问源站IP地址+端口访问正常,nginx无异常报错。

在打开文件时,发现无法打开配置文件,判断是服务器硬盘空间不足。

分析问题

定位到由于系统空间硬盘已被日志占满,nginx服务被访问的时候无法加载源站的前段代码信息,这里nginx有两个目录proxy和proxy_temp无法加载源站信息(这里信息包括前段页面的图片和代码等),这样就无法给用户提供访问了。

解决问题

清理系统空间后即可继续提供服务,访问页面不再是白色了,是正常的页面。

nginx服务通过接口下载文件返回504

问题描述

访问nginx服务状态码返回,504Gateway Time-out。这个是需要通过http访问上传下载大文件。

排查问题

查看日志是上传某个文件是报错的,查看服务相关的配置文件。查看到配置文件有20G的大小,

复制代码
client_max_body_size 2000480m;

分析问题

如果是超过了服务域名配置的文件大小就会报错413,这里明显是504的报错,所以只有一种可能是这个服务在传输文件的时候超时了,nginx有一个默认超时时间是300s。

请求超时时间设置

请求超时时间是指Nginx等待请求处理的最长时间,如果超时,则产生504 Gateway Time-out错误。在实际使用中,可以通过以下三个设置来控制请求超时时间。

1.1 proxy_connect_timeout

proxy_connect_timeout 5s;

proxy_connect_timeout指定与代理服务器的连接超时时间,包括TCP连接的建立和SOCKET连接的时间。在默认情况下,Nginx没有设置此选项,因此连接时间不会超时。

1.2 proxy_send_timeout

proxy_send_timeout 10s;

proxy_send_timeout指定向后端服务器发送请求的超时时间,包括发送请求头和请求体的时间。如果后端服务器不能在此时间内响应,则代理服务器会返回504错误。

1.3 proxy_read_timeout

proxy_read_timeout 10s;

proxy_read_timeout指定代理服务器接收响应的超时时间。如果后端服务器不能在这个时间内返回响应,则Nginx会关闭连接,同时返回一个504 Gateway Time-out错误

解决问题

可以在http中添加配置,也可以在server中添加配置。这里如果不写单位默认是s,也可以直接写30m。

复制代码
proxy_connect_timeout      1800;
proxy_send_timeout         1800;
proxy_read_timeout         1800;

再次访问就可以了,不会再报错504Gateway Time-out。

相关推荐
777VG6 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi6 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC7 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny7 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
冰封之寂7 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
kyriewen7 小时前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny7 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah8 小时前
Safari浏览器中如何只允许指定网站下载
前端·safari
云计算磊哥@9 小时前
运维开发宝典058-大型网站nginx服务器管理全集4
服务器·nginx·运维开发
用户059540174469 小时前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css