Guide to Modifying Nginx Configuration for Increasing File Upload Size Limit

Nov 22, 2025 · Programming · 14 views · 7.8

Keywords: Nginx | file upload | client_max_body_size | vi editor | PHP configuration

Abstract: This article provides a detailed guide on how to increase the file upload size limit in Nginx by editing the nginx.conf file. It covers step-by-step instructions for using the vi editor to modify the configuration, including the correct placement of the client_max_body_size directive in either the HTTP context or server block. Additionally, it explains how to save changes, restart services, and adjust PHP settings for complete functionality. With code examples and practical tips, users can efficiently resolve file upload limitations.

Overview of Nginx Configuration Modification

Nginx is a high-performance web server commonly used for serving static content and acting as a reverse proxy. In practical applications, users often need to upload files, but the default file size limit may be insufficient. By modifying the client_max_body_size directive in the nginx.conf file, you can adjust the maximum allowable file upload size. This guide walks you through the configuration process step by step.

Editing nginx.conf with vi Editor

First, connect to your server via an SSH tool like Putty and open the nginx.conf file using the following command:

vi /etc/nginx/nginx.conf

The vi editor is a standard text editor in Linux systems. Once in edit mode, navigate to the appropriate location to make changes. After editing, press the Esc key to exit edit mode, type :wq, and press Enter to save and exit.

Adding the client_max_body_size Directive

The client_max_body_size directive sets the maximum size of the client request body, directly impacting file upload limits. Depending on your server setup, this directive can be placed in two different contexts:

In the examples, 8M denotes 8 megabytes; adjust this value as needed, such as 20M or 100M. Ensure correct syntax to avoid errors.

Additional PHP Configuration Adjustments

If your application uses PHP for file uploads, modifying only Nginx may not suffice. You should also adjust the upload_max_filesize directive in the php.ini file. For instance, set it to match the Nginx value:

upload_max_filesize = 8M

This ensures PHP can handle files of the same size. After making changes, restart the PHP service to apply them.

Restarting Services to Apply Configuration

After modifying the configuration files, you must restart Nginx and PHP services for the new settings to take effect. Use the following commands:

sudo service nginx restart
sudo service php5-fpm restart

If your PHP service has a different name (e.g., php-fpm or php7.4-fpm), adjust the command accordingly. After restarting, check the service status to ensure no errors:

sudo service nginx status
sudo service php5-fpm status

If issues arise, consult log files (e.g., /var/log/nginx/error.log) for troubleshooting.

Verifying Configuration Effectiveness

To confirm the modifications are successful, test by uploading a file slightly below the new limit. For example, if set to 8M, try uploading a 7MB file. If successful, the configuration is active. Additionally, use browser developer tools or command-line utilities to check HTTP response headers for any size-related errors.

In summary, by properly editing nginx.conf and adjusting related PHP settings, you can effectively increase file upload size limits and enhance application functionality. Always back up the original configuration file before making changes to prevent unintended issues.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.