LinuxForum.Fans
Тема

centos7 nginx yii-framework

Автор: vinner 7 сообщений 1243 просмотров
10.01.2015 15:03 #409041

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

text
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; } }

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

text
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

10.01.2015 17:22 #409052

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

text

# 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/
10.01.2015 17:47 #409054
alexfinn написал:
selinux настройте
пример:
text

# 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

text
SELINUX=disabled
10.01.2015 22:23 #409081

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

text

# getenforce

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

10.01.2015 22:23 #409082

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

10.01.2015 22:24 #409083
"vinner" написал:
Так у меня selinux вообще отключен

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

11.01.2015 13:58 #409107
text
getenforce
Disabled

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

text
[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
Войдите или зарегистрируйтесь, чтобы ответить.