nginx下設定上傳檔案大小
阿新 • • 發佈:2019-01-07
1.nginx和php預設不支援上傳過大的檔案
-
假如我們要求上傳的檔案大小為20M,預設配置就不允許上傳了。
-
下面我們更改nginx和php配置,設定 上傳的限制為20M
Nginx配置更改
- 如果上傳檔案時超過了nginx限制,就會返回一個“413 Request Entity Too Large”的錯誤
- 我們只要更改nginx的配置檔案“nginx.conf”即可
- 在http{}中新增一個client_max_body_size 20m;配置項;
修改完之後重啟nginx或reload配置
PHP配置更改
- 除了nginx對檔案大小有要求,php也做了限制
- php配置檔案php.ini
- 我們需要修改配置:
- file_uploads = on ;開啟檔案上傳選項
- upload_max_filesize = 20M;檔案上傳限制
- post_max_size = 20; post上限
還需要根據實際情況調整下面的選項
- max_execution_time = 180; 指令碼最大執行時間(秒),過短會導致檔案還沒上傳完指令碼就停止了
- max_input_time = 180; 請求最大傳輸時間,過短會導致檔案還沒上傳完傳輸就停止了
- memory_limit = 128M; 記憶體上限
修改完成後重啟php-fpm或reload配置
2.如果不知道nginx和php配置檔案所在位置,請先用下面的指令查詢一下
# locate nginx.conf
# locate php.ini
一般來說,post_max_size設定要比upload_max_filesize稍大一些