web-dev-qa-db-ja.com

413要求エンティティが大きすぎます-ファイルのアップロードの問題

サーバーに30MBのファイルをアップロードしようとしていますが、動作しません。

  1. 30MBのファイルをアップロードすると、ページに「Page Not Found」が読み込まれます

  2. 3MBファイルをアップロードすると、nginx/0.6.32で「413 Request Entity Too Large」を受け取ります

client_max_body_size」を増やすことができるようにnginxを見つけようとしていますが、サーバーにインストールされているnginxを見つけることができません。私も実行してみました:

vi /etc/nginx/nginx.conf

または

vi /usr/local/nginx/conf/nginx.conf

構成ファイルが存在するかどうかを確認しますが、サーバー上で見つけることができませんでした。

とにかくこの問題を解決する方法はありますか?または、サーバーにnginxをインストールする必要がありますか。

編集:

Php.iniファイルに必要な変更をすべて加えました。

post_max_size 128M
upload_max_filesize 100M
memory_limit 256M

ありがとう、ラジュ

58
Raju Vishwas

ソース: http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/

Nginxのconfファイルを編集します。

nano /etc/nginx/nginx.conf

Httpセクションに行を追加します。

http {
    client_max_body_size 100M;
}

MBは使用しないでください。Mのみが機能します。

また、nginxを再起動することを忘れないでください

systemctl restart nginx
75
Dieter

-php.ini(/etc/php.ini内)

 max_input_time = 24000
 max_execution_time = 24000
 upload_max_filesize = 12000M
 post_max_size = 24000M
 memory_limit = 12000M

-in nginx.conf(inside/opt/nginx/conf)

client_max_body_size 24000M

私の場合、その働き

34
Arun

最初にNginx構成ファイルを編集(nginx.conf

場所:Sudo nano /etc/nginx/nginx.conf

次のコードを追加します。

http {
        client_max_body_size 100M;
}

その後、PHP構成ファイル(php.ini)に次の行を追加します

場所:Sudo gedit /etc/php5/fpm/php.ini

次のコードを追加します。

memory_limit = 128M 
post_max_size = 20M  
upload_max_filesize = 10M
11
Sanaulla

ドメインnginxファイルを入力してください:

nano /etc/nginx/sites-available/domain.set

このコードをファイルに追加

client_max_body_size 24000M;

エラーが発生した場合は、このコマンドを使用します

nginx -t
6
Cagdas

Php.iniファイルに必要な変更を加えたと仮定します。

この問題を解決するには、次のパスにあるnginx.confファイルに次の行を追加します。

/etc/nginx/nginx.conf

次に、vimテキストエディターを使用して次のようにファイルを編集します。

vi /etc/nginx/nginx.conf

そして、十分な値を持つclient_max_body_sizeを追加します。例:

client_max_body_size 20MB;

その後、必ず:xiまたは:wqを使用して保存してください

次に、nginxを再起動します。

それでおしまい。

私のために働いた、これが役立つことを願っています。

上記の変更でアップロードが機能しました。しかし、変更を行ったとき、ファイルのアップロードで404応答を取得し始めました。これにより、さらにデバッグを行い、nginx error.logをチェックすることで権限の問題を見つけました。

解決策:

/ var/lib/nginxで現在のユーザーとグループの所有権を確認します。

$ ls -ld /var/lib/nginx

drwx ------。 3 nginx nginx 17 Oct 5 19:31/var/lib/nginx

これにより、nginxという名前の存在しない可能性のあるユーザーとグループがこのフォルダーを所有していることがわかります。これはファイルのアップロードを妨げています。

私の場合、「/ etc/nginx/nginx.conf」に記載されているユーザー名は

user vagrant; 

この場合、vagrantでnginx.confで定義されているユーザーにフォルダーの所有権を変更します。

$ Sudo chown -Rf vagrant:vagrant /var/lib/nginx

実際に変更されたことを確認します。

$ ls -ld /var/lib/nginx
drwx------. 3 vagrant vagrant 17 Oct  5 19:31 /var/lib/nginx

より安全なsadeのためにnginxとphp-fpmをリロードしてください。

$ Sudo service nginx reload
$ Sudo service php-fpm reload

許可拒否エラーはなくなります。 error.logを確認します(nginx.confのerror_logの場所に基づいて)。

$ Sudo nano /path/to/nginx/error.log
2
Nafas Sait

次のように、nginxのグローバル構成ではなく、仮想ホストに変更を直接追加します。

   server {
     client_max_body_size 100M;
     ...
   }

そして、上記のコメントのように、php.iniのパラメーターを変更します。

   max_input_time = 24000
   max_execution_time = 24000
   upload_max_filesize = 12000M
   post_max_size = 24000M
   memory_limit = 12000M

そして忘れられないのは、centos 7でnginxとphp-fpmを再起動することです:

  systemctl restart nginx
  systemctl restart php-fpm
2
Evan

つかいます:

php -i

コマンドまたは追加:

phpinfo();

構成ファイルの場所を取得します。

ニーズとサーバーに応じてこれらの変数を更新します

max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M

Linuxでは、新しいini設定がロードされるように、nginx/Apacheおよびphpfpmサービスを再起動する必要があります。 xampp、ammpsでは、これらのアプリケーションに付属のコントロールパネルからこれらを再起動できます。

0
Saqib Ashraf

ファイルを開く/etc/nginx/nginx.conf追加または変更client_max_body_size 0;

0
Tai Ho