CakePHPをnginxで動かそうとした時にハマった点をかきました。普通に配置しても以下のように「I don’t / can’t use URL rewriting」という感じでmod_rewrite的なことができません。と出てきます。
結果、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とは別のノウハウが必要なので注意してください。では。