Доброго времени суток!
Поставил nginx+php-fpm на сервер, пытаюсь настроить, но при попытке войти получаю ошибку
*4 FastCGI sent in stderr: "Unable to open primary script: /home/www/htdocs/index.php (No such file or directory)" while reading response header from upstream, client: 192.168.76.109, server: test.ru, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9001", host: "test.ru"
Конфигурация nginx
server {
listen 80;
server_name test.divoflora.ru;
access_log /home/www/log/ngx-access.log;
charset utf-8;
rewrite ^/sitemap\.xml$ /sitemap last;
rewrite ^/robots\.txt$ /robots.php last;
## Default location
location / {
root /home/www/htdocs;
index index.php;
if (!-f $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
limit_conn addr 5;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /home/www/htdocs;
}
## Parse all .php file in the /var/www directory
location ~ \.php$ {
include fastcgi_params;
root /home/www/htdocs;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Disable viewing .htaccess & .htpassword
location ~ /\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9001;
}
Конфигурация php-fpm
[www]
prefix = /home/$pool
user = www-data
group = www-data
listen = 127.0.0.1:9001
listen.backlog = 10000;
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 1000
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 50
;pm.process_idle_timeout = 10s;
pm.max_requests = 500
#pm.status_path = /status
access.log = /home/www/log/fpm-access.log
access.format = "%{HTTP_X_REAL_IP}e %R %u [%t] %s \"%m %r%Q%q\" %f %{mili}d %{kilo}M %C%%"
;request_terminate_timeout = 0
;chroot =
chroot = /home/www/htdocs
security.limit_extensions = .php
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /home/www/tmp
php_admin_value[upload_tmp_dir] = /home/www/upload
php_admin_value[session.name] = session
php_admin_value[session.save_path] = /home/www/sessions
Права на каталог drwxr-xr-x 2 www-data www-data 4096 Окт 14 13:48 htdocs
Куда рыть?
Пользователь решил продолжить мысль 14 Октября 2015, 15:22:24:
chroot = /home/www/htdocs
заменил на
chdir = /home/www/htdocs
перевел пул на socket и все заработало)