3. サーバー設定サンプル
このドキュメントでは、FTBucketを運用するためのWebサーバー(Nginx)とPHP-FPMの設定例を紹介します。これらはあくまで一例であり、お使いのサーバー環境に合わせて適宜変更してください。
Nginx 設定例
Nginxを使用する場合、以下のような server ブロック設定が考えられます。
Note:
/path/to/your/project/srcの部分は、実際のFTBucketの設置パスに置き換えてください。また、fastcgi_passのソケットパスは、お使いのPHPのバージョンに合わせて修正してください。
# /etc/nginx/sites-available/your-site.conf
server {
listen 80;
server_name your-domain.com; # あなたのドメイン名
root /path/to/your/project/src;
index index.php;
# セキュリティのため、Webから直接アクセスされるべきではないディレクトリへのアクセスを拒否します。
location ~ /(meta|lock)/ {
deny all;
}
# PHPファイルへのリクエストをPHP-FPMに渡します。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# お使いの環境に合わせてPHP-FPMのソケットパスを指定してください。
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
# 静的ファイル(画像など)のキャッシュ設定(オプション)
location ~* \.(jpg|jpeg|gif|png|ico|css|js)$ {
expires 1M;
add_header Cache-Control "public";
}
}
PHP-FPM 設定例
PHP-FPMのプール設定ファイル(通常は www.conf)では、実行ユーザーやリソース管理に関する設定を行います。
; /etc/php/7.4/fpm/pool.d/www.conf
; Nginxの実行ユーザーと合わせることが推奨されます。
user = www-data
group = www-data
; ...
; プロセス管理
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php.ini の推奨設定
スレッドの取得やアーカイブファイルの生成には、ある程度のメモリと実行時間が必要です。php.ini で以下の項目を環境に合わせて調整することを推奨します。
memory_limit: PHPスクリプトが使用できるメモリの最大量。大きなスレッドを扱う場合は128Mや256Mなどの値が必要になることがあります。memory_limit = 128M
post_max_size/upload_max_filesize: ファイルアップロード機能を利用する場合、アップロードするファイルの最大サイズより大きな値を設定する必要があります。post_max_size = 100Mupload_max_filesize = 100M
max_execution_time: スクリプトの最大実行時間(秒)。cron_get.phpなどがタイムアウトしないよう、長めの値(例:600)に設定しておくと安心です。max_execution_time = 600
設定を変更した後は、NginxとPHP-FPMサービスを再起動して変更を反映させるのを忘れないでください。
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm