🌊

Nginx+PHP+php-fpmのWordPressでアップロードサイズの上限を変更する

2021/07/14に公開

AWSのEC2にLEMP環境(Linux、Nginx、MariaDB、PHP)を作成し、WordPressをインストールしました。
手順については以下にまとめたので、ご覧ください。

https://specially198.com/create-a-lemp-environment-on-aws-ec2-and-install-wordpress/

今回、WordPressを新たに立てて、旧環境から移行しましたが、WordPressでアップロードできるサイズの上限を変更する必要があったので、内容をまとめたいと思います。

環境

以下の環境で変更しました。
2021年6月末に作成した時点の情報になります。

  • Linux:Amazon Linux 2
  • Nginx:1.20.0
  • PHP:7.4.19
  • WordPress:5.7.2

WordPressを移行するのに使用するプラグイン

丸々移行するには、以下のプラグインが便利だと思います。
https://ja.wordpress.org/plugins/all-in-one-wp-migration/
「All-in-One WP Migration」は必要なデータを1ファイルにまとめてエクスポートして、それをアップロードし、インポートするという流れになるので、サイズが大きい場合、アップロードサイズの上限を変更する必要があります。

Nginxのアップロードサイズ上限を変更

Nginxの設定ファイルを変更します。

$ sudo vi /etc/nginx/nginx.conf

設定に「client_max_body_size」を追加しました。

nginx.conf
server {
    listen       80;
    listen       [::]:80;
    server_name  _;
    root         /usr/share/nginx/html/wordpress;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    client_max_body_size 1024M;

PHPのアップロードサイズ上限を変更

続いて、PHPです。

$ sudo vi /etc/php.ini

以下の内容を変更しました。

  • upload_max_filesize
  • post_max_size
  • memory_limit
php.ini
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
;upload_max_filesize = 2M
upload_max_filesize = 1024M

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
;post_max_size = 8M
post_max_size = 1024M

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
;memory_limit = 128M
memory_limit = 1024M

再起動

Nginxとphp-fpmを再起動します。

$ sudo systemctl restart nginx.service
$ sudo systemctl restart php-fpm.service

Discussion