LEMP構成(Linux、Nginx、MySQL、PHP)でWordPressをインストールし、メディアをアップロードしようとしたところ、「サーバーの負荷が高いか十分なリソースがないため画像の後処理に失敗しました。もっと小さな画像をアップロードしてみてください。推奨する最大サイズは2500ピクセルです。」というエラーに遭遇しました。

対象のファイルは約1MBの画像であり、最大サイズ2500px以下という制約にも収まっています。PHPの設定が原因かと思い、php.iniの中身をmemory_limit = 256Mと書き換えてみましたが、変化がありませんでした。

Nginxのconfファイルが原因

Nginxのconfファイル書き換えたところ、正常にアップロードができるようになりました。下記のようにserver {}の中にclient_max_body_size 1000M;と書き足すだけです。

server {
    listen 80;
    server_name promamo.com;
    root /var/www/wordpress;
    client_max_body_size 1000M;
    location / {
        index index.html index.php;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        include snippets/fastcgi-php.conf;
    }
}

書き換えたらservice nginx restartなどのコマンドでNginxを再起動しておきましょう。