1

Добрый день. Подскажите, если кто настраивал yii на nginx+php-fpm

server {
    set $host_path "/usr/share/nginx/html/domain.ua";
    access_log  /usr/share/nginx/html/domain.ua/log/access.log  main;
    error_log /usr/share/nginx/html/domain.ua/log/error.log;

    server_name  devtest.vsedoma.ua;
    root   $host_path/estate;
    set $yii_bootstrap "index.php";

    charset utf-8;

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

    location ~ ^/(protected|framework|themes/\w+/views) {
        deny  all;
    }

    # отключаем обработку запросов фреймворком к несуществующим статичным файлам
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }

    # передаем PHP-скрипт серверу FastCGI, прослушивающему адрес 127.0.0.1:9000
    location ~ \.php {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;

        # позволяем yii перехватывать запросы к несуществующим PHP-файлам
        set $fsn /$yii_bootstrap;
        if (-f $document_root$fastcgi_script_name){
            set $fsn $fastcgi_script_name;
        }

        fastcgi_pass   127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fsn;

        # PATH_INFO и PATH_TRANSLATED могут быть опущены, но стандарт RFC 3875 определяет для CGI
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fsn;
    }

    # не позволять nginx отдавать файлы, начинающиеся с точки (.htaccess, .svn, .git и прочие)
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
} 

Получаю вот такую ошибку

Unable to open primary script: /usr/share/nginx/html/domain.ua/estate/index.php (Permission denied)" while reading response header from upstream
В браузере Access denied. 

пробовал изменять права. Уже от отчаяния сделал 777 на /usr/share/nginx/html/domain.ua

у меня на localhost есть 2 папки(на localhost все работает). Nginx и php-fpm запущены под пользователем nginx. Владельцем папки и
/usr/share/nginx/html/domain.ua
estate - с проектом
framework - yii

2

selinux настройте
пример:

# setsebool httpd_can_network_connect on
# chcon -R -t httpd_sys_content_t /usr/share/nginx/html/domain.ua/
# chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/domain.ua/

3

alexfinn пишет:

selinux настройте
пример:

# setsebool httpd_can_network_connect on
# chcon -R -t httpd_sys_content_t /usr/share/nginx/html/domain.ua/
# chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/domain.ua/

Так у меня selinux вообще отключен:
/etc/selinux/config

SELINUX=disabled

4

выключен или включен прям в конкретный момент проверять лучше так:

# getenforce

отключение в конфиге начнет действовать после перезагрузки

5

проверьте еще настройки в конфигах php-fpm, в частности, кому разрешено коннектиться к нему

6

vinner пишет:

Так у меня selinux вообще отключен

а вообще об этом надо в первом посте сообщать

7

getenforce
Disabled

вот конфиг /etc/php-fpm.d/www.conf:

[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = nginx 
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session