2018-11-02 · Blog

Nginx 文件上传大小限制

当我上传一个 非常赏心悦目的图片 到我的博客系统的时候,系统出现了错误。这个错误的提示信息就像下面的提示一样。

The image you uploaded was larger than the maximum file size your server allows.

我的博客是 Ghost 并通过 Nginx 进行代理对外提供服务。博客系统部署在 阿里云 ECS 主机上,而我刚刚把自己的博客从 Wordpress 迁移至 Ghost ,在之前使用 Wordpress 的时候也遇到同样的附件上传失败的情况。

顺便说下 Ghost 有个华丽的上传附件快捷键 Ctrl + Shift + i

所以我很快就定位出现这个错误的原因,在 Nginx 的核心模块中做了上传附件的大小限制(默认情况下是 1M) 。
而我的图片是 1.1M 左右,定位了问题的原因修改起来就方便的多了。

直接修改博客的 Nginx 配置 /etc/nginx/conf.d/ghost.conf 不修改 /etc/nginx/nginx.conf 文件是我不想将这个修改的范围扩大到 Nginx 代理的其他应用。

location / {
    ...
    client_max_body_size 3m;
    ...
}

将上传附件的大小增加到 3M ,超过 3M 的话,图片的加载速度就会变的很慢,验证影响博客的阅读,这样的话我另可从新选择图片。

只要我们从新加载 Nginx 的配置文件,我们就可以愉快的上传精美图片了。

nginx -s reload

下面我们一起来欣赏下这张图片吧!

beautiful-picture