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を使っている方は適切なタイミングでバージョンアップをご検討ください。