Nginx HTTP:413 Request Entity Too Large解决方法

概述

今天遇到一个问题,在PHP程序中上传图片出现了以下错误:HTTP:413 Request Entity Too Large。

开发环境:CentOS + Nginx + PHP + MySql

解决方案

解决此问题,根据上传数据文件的大小,需要调节PHP和Nginx相关的参数配置。

配置PHP

PHP默认上传文件大小限制为2M,如果超出2M你需要修改PHP配置文件php.ini里面的参数。

代码如下:

post_max_size = 8M (表单提交的最大限制,此项不是限制上传单个文件的大小,而是针对整个表单提交的数据进行限制。)
upload_max_filesize = 2M (上传的单个文件的最大限制)
需要保证 post_max_size >= upload_max_filesize ,也就是前者不小于后者。
修改之后一定要重启 php-fpm。

配置Nginx

除了修改 php 配置,你也需要修改nginx配置文件nginx.conf。

代码如下:

client_max_body_size 30M;

其中30M可以根据需要上传文件大小自行设定。
修改之后一定要重新载入nginx(service nginx restart)。

总结

今天解决了好几个小问题,挨个记录下~~
进步不用多,每天一点点

(0)

相关推荐

  • 详解Nginx服务器中配置全站HTTPS安全连接的方法

    HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个: 数据保密性.保证内容在传输过程中不会被第三方查看到.就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西.     数据完整性.及时发现被第三方篡改的传输内容.就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收.     身份校验.保证数据到达用户期望的目的地.就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方. 启用

  • 高性能WEB开发 nginx HTTP服务器篇

    第一篇:HTTP服务器 因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf) 提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级, 配置更加简单,而且nginx不仅仅是高性能的HTTP服务器,还是高性能的反向代理服务器. 目前很多大型网站都使用了nginx,新浪.网易.QQ等都使用了nginx,说明nginx的稳定性和性能还是非常不错的. 1. nginx 安装(linux) htt

  • Linux服务器nginx访问日志里出现大量http 400错误的请求分析

    服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] "-" 400 0 "-" "-" 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] "-" 400 0 "-" "-" 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800]

  • nginx/apache/php隐藏http头部版本信息的实现方法

    1.nginx隐藏头部版本信息方法 编辑nginx.conf配置文件,在http{}内增加如下一行 复制代码 代码如下: http {      --      server_tokens off;      --     } 编辑php-fpm配置文件,fastcgi.conf或fcgi.conf 找到: 复制代码 代码如下: fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; 改为: 复制代码 代码如下: fastcgi_param SER

  • Nginx实现根据域名http、https分发配置示例

    tomcat端口:8080 做好虚拟主机 nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 复制代码 代码如下: include www.jb51.net.conf 新建conf/www.jb51.net.conf,内容如下: 复制代码 代码如下: server { listen 80; server_name www.jb51.net; location / {     proxy_pass http://127.0.0.1:8080;     proxy

  • Nginx中使用gzip_http_version解决CDN只支持http 1.0问题

    网站经过CDN后,看CSS文件的header发现 复制代码 代码如下: Transfer-Encoding: chunked google了许久,发现是CDN的抓取好像只支持http 1.0 而nginx的 gzip_http_version选项默认值为1.1 在nginx的配置文件中增加或修改gzip_http_version参数,为: 复制代码 代码如下: gzip_http_version 1.0 改完重启nginx 再看已经正常. 参考文档:http://wiki.nginx.org/N

  • 在网关中使用Nginx配置HTTP透明代理案例

    出于某些需求在网关级架设 HTTP 透明代理,劫持用户 HTTP 请求,转发或直接进行响应. iptables配置 iptables 用于将经过网关的 TCP 80 端口的上行流量转发至网关上的 Nginx 服务. 复制代码 代码如下: sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT \--to-destination 网关IP:端口 Nginx 演示配置 复制代码 代码如下: worker_processe

  • nginx HTTP模块配置常用指令

    一.HTTP模块的作用是什么? Nginx的HTTP模块用于控制Nginx的HTTP进程. 二.配置指令 1. alias含义:指定location使用的路径,与root类似,但不改变文件的跟路径,仅适用文件系统的路径.语法:alias <file-path | directory-path>缺省:N/A作用域:http.server.location示例: 复制代码 代码如下: location /i/ {    alias /home/michael/web/i/;} 如请求 /i/log

  • 详解Nginx服务器中HTTP Headers相关的模块配置使用

    ngx_http_headers_module模块 一. 前言 ngx_http_headers_module模块提供了两个重要的指令add_header和expires,来添加 "Expires" 和 "Cache-Control" 头字段,对响应头添加任何域字段.add_header可以用来标示请求访问到哪台服务器上,这个也可以通过nginx模块nginx-http-footer-filter研究使用来实现.expires指令用来对浏览器本地缓存的控制. 二.

  • 详解Nginx中HTTP的keepalive相关配置

    http keepalive 在http早期 ,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接.使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会 断开连接.通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd 服务器的吞吐率(更少的tcp连接意味着更少的系统内核调用,socket的accept()和close()调用).但是,ke

  • windows下nginxHTTP服务器入门教程初级篇

    一.介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X", 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器. 二.Location语法语法:location [=|~|~*|^~] /uri/ { - } 注: 1.~ 为区分大小写匹配 2.~* 为不区分大小写匹配 3.!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 示例一: location / { } 匹配任何查询,因为所有请求都

  • nginx中使用nginx-http-concat模块合并静态资源文件

    首先了解一下 nginx-http-concat,他是一个淘宝的开源Nginx模块,是一个能把多个CSS和JS合并成一个请求的Nginx模块,对于Web性能优化非常有意义. Github地址:https://github.com/alibaba/nginx-http-concat, 先看看淘宝用起来是什么样的,访问淘宝网主页,查看源代码可以看到类似的这样的style/script链接 复制代码 代码如下: <link rel="stylesheet" href="//g

随机推荐