Рекомендуемые настройки Nginx
PHP должен быть установлен как FPM SAPI для Nginx. Используйте следующие параметры Nginx и не забудьте заменить path/to/basic/web
на корректный путь к basic/web
и mysite.local
на ваше имя хоста.
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## слушаем ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/project/log/access.log;
error_log /path/to/project/log/error.log;
location / {
# Перенаправляем все запросы к несуществующим директориям и файлам на index.php
try_files $uri $uri/ /index.php?$args;
}
# раскомментируйте строки ниже во избежание обработки Yii обращений к несуществующим статическим файлам
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
Используя данную конфигурацию установите cgi.fix_pathinfo=0
в php.ini
чтобы предотвратить лишние системные вызовы stat()
.
Учтите, что используя HTTPS необходимо задавать fastcgi_param HTTPS on;
чтобы Yii мог корректно определять защищенное соединение.