Increase file upload size in WordPress on Nginx server

Stefan Ledin
1 min readJul 28, 2017

--

I got an (very helpful 🙄)HTTP error when trying to upload a 80-something MB file to WordPress the other day. Even though I had increased the maximum upload size to 128 MB.

So let’s check with our special friend: the error log.

$ sudo vim /var/log/nginx/error.log

Which said this:

client intended to send too large body

🤔 That’s strange, since 80-something is less than 128 mb. But after a few minutes of googling, it turned out that I could move the client_max_body_size “setting” from the location block to the server block in the Nginx vhost file.

From this:

# /etc/nginx/sites-avaliable/mysite.comserver {  listen 80;  listen [::]:80;  root /var/www/mysite;  index index.php index.html index.htm;  server name mysite.com www.mysite.com;  location / {    client_max_body_size 128m;    # …  }  # …}

To this:

# /etc/nginx/sites-avaliable/mysite.comserver {  listen 80;  listen [::]:80;  root /var/www/mysite;  index index.php index.html index.htm;  server name mysite.com www.mysite.com;  client_max_body_size 128m;  location / {    # ...  }  # ...}

Notice the difference? Don’t forget to run:
sudo service nginx reload

php.ini

In case you’re wondering, these are the things you have to change in thephp.ini file.

First, locate the correct php.ini file by running phpinfo(); Look at the Loaded configuration file column. It will say something like this: etc/php/7.0/fpm/php.ini

Run:

$ sudo vim /etc/php/7.0/fpm/php.ini

Locate and change these settings:

post_max_size = 128M
upload_max_filesize = 128M

Save and exit Vim by typing :wq (Write and quit.)

Finish by restarting PHP-FPM:

$ sudo service php7.0-fpm restart

Then have a beer. Good work! 🍻

--

--

Stefan Ledin

Web developer who makes fast WordPress sites with clean code and awesome backends. Also, JavaScript is nice!