nginx + php-fpmでCaekPHPを利用するまでの設定

nginx + php-fpmでcakephpを利用するCakePHP2

nginx + php-fpmでcakephpを利用する

CakePHPをnginxで動かそうとした時にハマった点をかきました。普通に配置しても以下のように「I don’t / can’t use URL rewriting」という感じでmod_rewrite的なことができません。と出てきます。

スクリーンショット 2014-07-23 7.49.45

結果、CSS等も読み込まれずに死亡しています。

結局以下の設定で動作するようになりました。apacheの設定だと、ドキュメントルートが /var/www/cakephp-2.4.10で動きますが、nginxだとwebrootまで指定する必要があります。

server {
    listen 80;
    server_name supersonico.info;
    root /var/www/cakephp-2.4.10/app/webroot;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_intercept_errors on;
      include fastcgi_params;
    }

    location ~ (\.ht|\.git|\.svn) {
      deny all;
    }
}

 

nginxでウェブシステムを動かすにはApacheとは別のノウハウが必要なので注意してください。では。