nginx の変更
send_timeout 60; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; client_max_body_size 30m; 可以全局设置也可以每个网站单独设置
php の変更
upload_max_filesize 10M post_max_size 15M 该项应该要大于 upload_max_filesize max_input_time 300 max_execution_time 300
php-fpm パラメータに注意してください
request_terminate_timeout 300 request_slowlog_timeout 如果多数为上传大文件则设置较大值,这个根据自身情况设置
これら 2 つのパラメータの設定が小さすぎると、ファイルの一部が転送された後に接続が閉じられます。
最大時間はユーザーの帯域幅に基づいて計算されます。予期しないダウンタイムを避けるために、無制限の時間を 0 に設定することはお勧めできません。
=============================================== == ==========
nginx.conf の keepalive_timeout 時間設定を増やす必要があるという設定投稿をインターネット上で多く見たためです
私のサーバーの設定は次のとおりです:
keepalive_timeout 60;デフォルトでは約 75 秒、私は 60 に設定しました。
実際にテストしたところ、9MB のファイルをアップロードするのに約 270 秒かかりました。
実際のアップロードが成功したことがわかります。 keepalive_timeout 時間には影響されず、この設定は関係ありません
そして、この時間の拡張は nginx の同時実行性に深刻な影響を及ぼします
send_timeout については、長時間オンラインで検索しましたが、タイムアウトが何であるかを理解できませんでした。また、テストしました。
send_timeout を 60 に設定した後、
アップロード 170 秒を超えてもアップロードは成功します。したがって、私が理解しているのは、クライアントがアップロード中にネットワークが切断されてから受信が完了した後、タイムアウトは 60 秒である必要があるということです動作が停止し、接続が切断されます。データを送り続ける限り途切れることはない、たぶんこんな感じです