在LNMP(Linux, Nginx, MySQL, PHP)环境下,调整文件的最大上传大小需要修改几个关键配置项。具体涉及Nginx和PHP的配置文件,以下是详细的步骤:
1. 修改 Nginx 配置
Nginx控制着文件上传的最大大小,可以通过以下配置项来调整:
- 文件路径:通常位于
/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
中,或者是你的虚拟主机配置文件。 - 配置项:
client_max_body_size
修改步骤:
sudo vim /etc/nginx/nginx.conf
找到 http
、server
或 location
块(可以根据需求调整全局配置或特定站点配置):
http {
client_max_body_size 100M;
}
将 client_max_body_size
设置为你想要的上传大小(如 100M
代表100MB)。
重启 Nginx:
sudo systemctl restart nginx
2. 修改 PHP 配置
PHP也有自己的上传限制配置,通常需要修改 php.ini
文件中的以下两个参数:
- 文件路径:
/etc/php/{version}/fpm/php.ini
或/etc/php.ini
(不同操作系统、PHP版本路径可能有所不同) - 配置项:
upload_max_filesize
:单个文件上传的最大大小post_max_size
:整个POST请求的最大大小,必须大于或等于upload_max_filesize
修改步骤:
sudo vim /etc/php/{version}/fpm/php.ini
找到以下配置项并修改为你需要的值:
upload_max_filesize = 100M
post_max_size = 100M
重启 PHP-FPM 服务:
sudo systemctl restart php-fpm
3. 修改 PHP-FPM 的池配置 (可选)
根据 PHP 的具体运行模式,有时需要调整 PHP-FPM 池配置中的 php_value
选项。文件路径通常在 /etc/php/{version}/fpm/pool.d/www.conf
。
sudo vim /etc/php/{version}/fpm/pool.d/www.conf
在文件末尾加上:
php_value[upload_max_filesize] = 100M
php_value[post_max_size] = 100M
重启 PHP-FPM:
sudo systemctl restart php-fpm
4. 检查与验证
-
验证Nginx配置: 可以通过命令检查Nginx配置文件是否正确:
sudo nginx -t
如果没有问题,Nginx会输出
syntax is ok
和test is successful
。 -
PHP配置验证: 创建一个PHP文件,例如
info.php
:phpinfo();
访问该文件并检查
upload_max_filesize
和post_max_size
是否已生效。
总结
- Nginx:修改
client_max_body_size
- PHP:修改
upload_max_filesize
和post_max_size
确保这两个部分的设置一致,并且都大于或等于你需要的文件上传大小,最后重启服务以使配置生效。
发表评论 取消回复