ConoHa VPS Kusanagi|アップロード上限を2GBに変更する方法
環境: ConoHa VPS / Kusanagi 9.8.9 / AlmaLinux 9 / PHP 8.3 / Nginx 1.29 / MariaDB 10.6
この記事でできること
– WordPressのメディアアップロード上限を16MB → 2GBに変更。
– phpMyAdminのインポート上限を16MB → 2GBに変更。
– 複数サイトをまとめて設定変更。
– viエディタを使わずsedコマンドで安全に変更。
なぜデフォルトは16MBなのか
ConoHa VPS(Kusanagi環境)の初期設定では、アップロードサイズの上限が16MBに設定されています。これは以下の3箇所の設定が連動しているためです。
| 設定項目 | 設定ファイル | 役割 |
|---|---|---|
client_max_body_size | Nginx設定ファイル(各サイト) | Nginxが受け付けるリクエストの最大サイズ。 |
upload_max_filesize | php.ini | PHPが受け付けるファイルの最大サイズ。 |
post_max_size | php.ini | POSTデータ全体の最大サイズ。 |
この3つがすべて2GBに変更されていないと、どこかで制限に引っかかります。
作業前のセキュリティ注意事項
> ⚠️ SSHはrootで接続しないことを推奨します。作業用ユーザーを作成してsudo経由で操作するのが安全です。
> ⚠️ 設定ファイルのパスにはサーバー固有のプロファイル名が含まれます。この記事ではサイト名と表記しています。ご自身の環境のプロファイル名に置き換えて実行してください。
設定ファイルを変更する前に、バックアップを取っておくと安心です。
# Nginx設定ファイルのバックアップ
cp /etc/opt/kusanagi/nginx/conf.d/サイト名.conf /etc/opt/kusanagi/nginx/conf.d/サイト名.conf.bak
# php.iniのバックアップ
cp /etc/opt/kusanagi/php.d/php.ini /etc/opt/kusanagi/php.d/php.ini.bak
STEP 1|Nginx設定ファイルの変更(サイトごと)
まずNginxの各サイト設定ファイルにある client_max_body_size を変更します。sedコマンドを使うとviエディタを開かずに安全に1行で変更できます。
サイトの数だけ繰り返します。プロファイル名の部分はご自身の環境に合わせて変更してください。
# サイト1の設定変更
sed -i 's/client_max_body_size 16M/client_max_body_size 2048M/' \
/etc/opt/kusanagi/nginx/conf.d/サイト名1.conf
# サイト2の設定変更
sed -i 's/client_max_body_size 16M/client_max_body_size 2048M/' \
/etc/opt/kusanagi/nginx/conf.d/サイト名2.conf
# サイト3の設定変更
sed -i 's/client_max_body_size 16M/client_max_body_size 2048M/' \
/etc/opt/kusanagi/nginx/conf.d/サイト名3.conf
変更後は必ず確認しましょう。2048M と表示されればOKです。
grep "client_max_body_size" /etc/opt/kusanagi/nginx/conf.d/サイト名.conf
STEP 2|php.ini の変更
次にPHPの設定ファイルを変更します。Kusanagi環境のphp.iniの場所はこちらで確認できます。
php --ini | grep "Loaded Configuration"
以下の3つを順番に1行ずつ実行します。
# upload_max_filesize を変更
sed -i 's/upload_max_filesize = .*/upload_max_filesize = 2048M/' /etc/opt/kusanagi/php.d/php.ini
# post_max_size を変更
sed -i 's/post_max_size = .*/post_max_size = 2048M/' /etc/opt/kusanagi/php.d/php.ini
# memory_limit を変更
sed -i 's/memory_limit = .*/memory_limit = 256M/' /etc/opt/kusanagi/php.d/php.ini
3つまとめて確認します。
grep -E "upload_max_filesize|post_max_size|memory_limit" /etc/opt/kusanagi/php.d/php.ini
> 💡 行頭に ; がついている行はコメント行です。コメントなしの行が 2048M になっていればOKです。
STEP 3|Kusanagiを再起動して反映
設定変更はKusanagiを再起動することで反映されます。
kusanagi restart
restart completed. と表示されれば成功です。
STEP 4|WordPressで確認
WordPress管理画面の メディア → 新しいメディアファイルを追加 を開きます。アップロードエリアに「最大アップロードファイルサイズ: 2 GB」と表示されれば設定完了です。
ターミナルからも確認できます。
php -r "echo 'upload_max_filesize: ' . ini_get('upload_max_filesize') . PHP_EOL;
echo 'post_max_size: ' . ini_get('post_max_size') . PHP_EOL;
echo 'memory_limit: ' . ini_get('memory_limit') . PHP_EOL;"
変更内容まとめ
| 設定項目 | 変更前 | 変更後 | 設定ファイル |
|---|---|---|---|
client_max_body_size(各サイト) | 16M | 2048M | Nginx conf |
upload_max_filesize | 16M | 2048M | php.ini |
post_max_size | 16M | 2048M | php.ini |
memory_limit | – | 256M | php.ini |
補足:ターミナルからのDBインポートは制限なし
今回変更した制限は ブラウザ(HTTP通信)経由の場合のみ 有効です。ターミナルから直接 mysql コマンドでインポートする場合はこれらの制限を受けません。
| 操作方法 | サイズ制限の影響 |
|---|---|
| WordPressメディアアップロード | ⚠️ 受ける |
| phpMyAdminからのインポート | ⚠️ 受ける |
ターミナル mysql コマンド | ✅ 受けない |
ターミナル scp / rsync | ✅ 受けない |
VPS移行作業などで大容量のDBを扱う場合はターミナルからのインポートが確実です。
まとめ
ConoHa VPS(Kusanagi環境)でアップロード上限を2GBに変更するには、Nginx設定ファイルとphp.iniの2箇所を修正する必要があります。sedコマンドを使えばviエディタを使わずに安全に変更できます。作業後は必ず kusanagi restart で反映させましょう。






コメント