1. 程式人生 > >nginx下設定上傳檔案大小

nginx下設定上傳檔案大小

1.nginx和php預設不支援上傳過大的檔案 

  1. 假如我們要求上傳的檔案大小為20M,預設配置就不允許上傳了。 

  2. 下面我們更改nginx和php配置,設定 上傳的限制為20M

Nginx配置更改 

  • 如果上傳檔案時超過了nginx限制,就會返回一個“413 Request Entity Too Large”的錯誤
  • 我們只要更改nginx的配置檔案“nginx.conf”即可
  • 在http{}中新增一個client_max_body_size 20m;配置項;

修改完之後重啟nginx或reload配置

PHP配置更改

  1. 除了nginx對檔案大小有要求,php也做了限制
  2. php配置檔案php.ini
  3. 我們需要修改配置:
  • 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稍大一些