先简单介绍一下 Nginx…
Nginx 作为一个高性能的 HTTP 和 反向代理 web 服务器具有占用内存少, 并发能力强等特点,可以说 Nginx 专为性能和效率而生, 如 tomcat 的并发量大约在 100 多, 而 Nginx 的并发量可以达到 5 万之多;
Nginx 的主要作用还是反向代理, 实现负载均衡, 何为反向代理, 所谓反向代理其实就是隐藏了真实服务器的 IP 地址, 从而暴露了代理服务器的地址, 客户端只需要将请求发送到反向代理服务器, 由反向代理服务器去选择目标服务器获取数据后, 再返回给客户端, 🌰: 我想在本地使用 www.123.com 这个域名去访问 www.baidu.com, 那么这个时候就可以使用 Nginx 来实现;
何为负载均衡? 负载均衡就是我们将项目部署到多个服务器上, 然后通过使用统一的域名去访问, 通过 Nginx 对请求进行分发, 从而减轻服务器的压力, 也可以这样说, Nginx 服务器起到了分发的作用, 但是真正的实现可以放在其他的服务器上, Nginx 作为隔离层, 也对我们项目起到了安全壁障.
最近在项目中实现文件上传功能时, 先是遇到了413 错误码, 报错如下:
于是我就认为是不是上传的文件过大导致的? 于是我试着上传一个比较小的文件, 这时候倒是不报错 413 了, 反而又出现了 500 的错误码!!! 如下:
上网看了很多这样的问题, 但是好像很少有对症下药的办法, 但是通过资料搜集可以确认是 nginx 配置文件里面的问题…关于配置文件在哪找, 可以点击此处🔗.
于是又从网上搜集了一下关于 Nginx 限制文件大小的字段, 主要如下两个:
此时再次上传刚才比较大的文件, 已经不再报错 413, 但是 500 的错误码还是存在的, 这时候就有第二个字段的作用;
sudo nginx -s reload
.