NginxでEC-CUBE3系を動作させる場合の設定について、ご紹介します。
NginxではApacheと異なり標準で用意された.htaccessが動作しないため、nginx.confへリライト設定を記述する必要があります。
サーバー上のコマンドで設定ファイルを編集します。
sudo vim /etc/nginx/nginx.conf
serverブロックの中でlocation設定を行います。
(PHP-FPMがインストール済前提です)
基本ルールとしては存在しないファイルにアクセスがあった場合はindex.phpへリライトします。
ただし、インストール画面だけは別途install.phpへリライトします。
location / {
try_files $uri /index.php$is_args$args;
}
location ~ install\.php\/.+$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
try_files $uri $uri/ /install.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
try_files $uri =404;
}
パフォーマンス向上のため、gzipを有効にして高速化の設定もしておきましょう。
gzip on;
gzip_vary on;
gzip_disable msie6;
gzip_types text/javascript text/css application/x-javascript application/javascript;
最後はNginxを再起動して完了です。
sudo service nginx restart
弊社ではEC-CUBEデモサイトをNginxで動作させています。
非常に高速となりますので、ぜひ一度お試しください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。
EC-CUBEゴールドパートナー