Nginx:413 Request Entity Too Large解决
最近在做给博客添加上传PDF的功能,但是在测试上传文件的过程中遇到了413 Request Entity Too Large
错误。不过这个无错误是很好解决的,这个错误的出现是因为上传的文件大小超过了Nginx和PHP的配置,我们可以通过以下的方法来解决:
一、设置PHP上传文件大小限制
PHP默认的文件上传大小是2M,我们可以通过修改php.ini里面的以下几行来增加上传文件大小的限制:
file_uploads = on upload_max_filesize = 50M post_max_size = 50M memory_limit = 20M upload_tmp_dir = /tmp |
file_uploads参数的含义就是允许上传文件;upload_max_filesize 即允许上传文件大小的最大值。默认为2M;post_max_size 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M。
二、设置Nginx的配置
我们可以修改nginx.conf,在server里面添加client_max_body_size
配置,具体如下:
server{ listen 80; server_name *.iteblog.com iteblog.com; client_max_body_size 50M; ...... } |
三、启用
修改上面的配置之后是不能直接生效的,我们需要重启php-fpm
和nginx
,具体如下:
iteblog # /etc/init.d/php-fpm reload 重新载入 php-fpm:[17-Aug-2015 22:21:07] NOTICE: configuration file /etc/php-fpm .conf test is successful [确定] iteblog # /usr/sbin/<span class="wp_keywordlink_affiliate"><a href="https://www.iteblog.com/archives/tag/nginx/" title="" target="_blank" data-original-title="View all posts in nginx">nginx</a></span> -s reload 或者 /usr/sbin/nginx -c /etc/nginx/nginx .conf |