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オープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEに関するお問い合わせ


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ