nginx.confを編集してファイルサイズのアップロードを増やす方法


105

maximum file sizeアップロードできるものを増やしたい。
オンラインで調査したところ、「nginx.conf」ファイルを編集する必要があることがわかりました。
現在このファイルにアクセスできる唯一の方法は、Puttyを経由してコマンドを入力することです。

vi /etc/nginx/nginx.conf

これでファイルが開きますが、次の2つの質問があります。

  1. このファイルを編集するにはどうすればよいですか?
  2. オンラインで次のコード行を追加する必要があることがわかりました。

client_max_body_size 8M;

このコード行はどこに配置しnginx.confますか?

回答:


199

client_max_body_sizeを追加

ファイルを編集しているので、次のようにサーバーブロックに行を追加する必要があります。

server {
    client_max_body_size 8M;

    //other lines...
}

複数のサイトをホストしている場合は、それをhttpコンテキストに追加します。

http {
    client_max_body_size 8M;

    //other lines...
}

またupload_max_filesize、php.iniファイルのを更新して、同じサイズのファイルをアップロードできるようにします。

Viに保存

保存したら、保存する必要があります。これは、viでescキーを押し、入力:wqして戻ることで実行できます。

NginxとPHPの再起動

設定をリロードするには、nginxとphpを再起動する必要があります。これは、次のコマンドを使用して実行できます。

sudo service nginx restart
sudo service php5-fpm restart

または、phpサービスが呼び出されるものは何でも。


8
http {すべてのサーバーがそれを継承するように、コンテキストに追加することは悪い考えではないかもしれません。そして、あなたのnginx設定と一致するようupload_max_filesizeに調整してくださいphp.ini。Homestead / Vagrantを使用してLaravelを実行している場合、そのファイルはにあります/etc/php5/fpm/php.ini
damiani 2014年

はい、私はLaravel Homesteadを使用していることを忘れていました。そこで、「/ etc / php5 / fpm / php.ini」を開いてコード行「upload_max_filesize = 2M」を見つけたので、「2M」が「8M」になるように変更したいと思います。この編集を行ったら、「Ctrl Z」を押してファイルを終了し、「sudo service nging restart」を実行しますか?
Jeff P. 14年

ctrl-zを押す必要はありません。viで保存してから、escを押してから:wqと入力して、Enterキーを押します。
Matt Burrow

2
エディターから出て、viコマンドの前にsudoを追加します。そのようです; sudo vi /etc/nginx/nginx.confまたはsudo vi /etc/php5/fpm/php.ini
Matt Burrow

2
sudo nginx -s reloadnginxを再起動せずに設定をリロード
Vincnetas

12

nginxプロキシをドッカーコンテナーとして使用している場合(例:jwilder / nginx-proxy)、次の方法で構成client_max_body_size(または他のプロパティ)します。

  1. /etc/nginx/proxy.confこのプロパティの適切な値などを使用して、カスタム構成ファイルを作成します
  2. コンテナを実行するときは、ボリュームとして追加します。 -v /etc/nginx/proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro

設定を変更するためにカスタムコンテナを構築する必要がないため、個人的にはこの方法が便利だと感じました。私はとは関係がなくjwilder/nginx-proxy、自分のプロジェクトでそれを使用していただけで、上記の方法が役立ちました。それが他の誰かにも役立つことを願っています。


1
この関連プロジェクト:github.com/evertramos/…jwilderからのnginx-proxyとレットクリプトからの証明書生成を組み合わせたもの)には、これを行うためのきちんとしたスクリプトがあり、このオプションは(100Mに)事前構成されています。サンプルから.envを作成します。行のコメントを外し#USE_NGINX_CONF_FILES=trueます。start.sh最後に実行しdocker-compose upます。(私はどちらのプロジェクトにも所属していません)。
グロー

2

終日client_max_body_sizeとupload_max_filesize + post_max_sizeを増やすことができます。HTTPタイムアウトを調整しないと機能しません。

//これを調整する必要があり、おそらくPHP側でも調整する必要があります。client_body_timeout 2min // 1GBファイルアップロード


ここにあなたのWebサーバを微調整についての詳細情報:doc.owncloud.com/server/admin_manual/configuration/files/...
デジタルヒューマン

2

最初にphp.iniのパスに移動します

sudo vi /etc/php/7.2/fpm/php.ini

次に、次の変更

upload_max_filesize = 999M
post_max_size = 999M

その後 ESC-->:wq

最後にこのコマンドを貼り付けます

sudo systemctl restart php7.2-fpm.service

完了です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.