LINUX.ORG.RU

nginx + php-fpm. Не работает второе.


0

1

Собственно проблема : нгинкс нормально отдает статические файлы, генерирует 404 ошибку. При попытке зайти на index.php - получаю в браузере сообщение, что страница недоступа, тоесть 500 ошибка сервером не генерируется. Справедливости ради скажу что до того как захотел перенести папку вебсервера в home-каталог все работало.

Конфиги :

 www.conf (все закоментированое и не изменявшееся удалил)
; Start a new pool named 'www'.
[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
listen.owner = 007
listen.group = 007
user = 007
group = 007
chroot = /home/007/www/localhost/html
catch_workers_output = yes
и
 nginx.conf
user              007;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    
    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/*.conf;
}
и еще
default.conf
server {
    listen 80;
    server_name  _;
    access_log /home/007/www/localhost/logs/access.log;
    error_log /home/007/www/localhost/logs/error.log;

    location / {
        root /home/007/www/localhost/html;
        index  index.html index.htm index.php;
    }

    error_page  404              /404.html;
    location = /404.html {
        root   /home/007/www/localhost/err;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /home/007/www/localhost/err;
    }

    location ~ \.php$ {
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  /home/007/www/localhost/html$fastcgi_script_name;
	include        fastcgi_params;
    }
}
Надеюсь этого хватит чтобы установить проблему. Заранее спасибо отписавшимся.

А в error.log/access.log что пишет?

pi11 ★★★★★ ()

Что с правами на директорию?

VirRaa ★★★ ()
Ответ на: комментарий от VirRaa

Права на директорию 007:007 , вроде как правильные. В логах ничего толкового - отсутствие favicon.ico в error.log , запросы к index.html в acсess.log. index.php в ацесс.лог не упоминается.

Xazzzi ()
Ответ на: комментарий от dismal_faun
$ ps aux | grep php
root      1130  0.0  0.2  22428  2180 ?        Ss   14:20   0:01 php-fpm: master process (/etc/php-fpm.conf)
halt      1133  0.0  0.2  22716  2456 ?        S    14:20   0:00 php-fpm: pool www
halt      1134  0.0  0.1  22428  2016 ?        S    14:20   0:00 php-fpm: pool www
halt      1135  0.0  0.1  22428  2016 ?        S    14:20   0:00 php-fpm: pool www
halt      1136  0.0  0.1  22428  2016 ?        S    14:20   0:00 php-fpm: pool www
halt      1137  0.0  0.1  22428  2016 ?        S    14:20   0:00 php-fpm: pool www
007       2050  0.0  0.0   4460   768 pts/0    S+   14:49   0:00 grep --color=auto php
Xazzzi ()
Ответ на: комментарий от Shtsh

А здесь уже интересно:

# cat /var/log/php-fpm/www-error.log
cat: /var/log/php-fpm/www-error.log: No such file or directory
Путь к логу взят отсюда : http://www.conf php_admin_value[error_log] = /var/log/php-fpm/www-error.log

Xazzzi ()
Ответ на: комментарий от Xazzzi

Права на /var/log/php-fpm/ принадлежат root:root. Так и должно быть ?

Xazzzi ()
Ответ на: комментарий от Xazzzi

а точно первый конфиг отностится к /etc/php-fpm.conf ?
если судить по выхлопу ps, то пых работает под пользователем halt

dismal_faun ★★ ()
Ответ на: комментарий от Xazzzi

Нормально. Но для того, чтобы проверить, виноваты ли права, пропиши жёстко путь к логам.

В глобальных опциях

<value name=«error_log»>/tmp/php-fpm.log</value>

Shtsh ★★★★ ()
Ответ на: комментарий от dismal_faun

Копирую полностью /etc/php-fpm.conf :

;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;

; All relative paths in this configuration file are relative to PHP's install
; prefix.

; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
include=/etc/php-fpm.d/*.conf

;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;

[global]
; Pid file
; Default Value: none
pid = /var/run/php-fpm/php-fpm.pid

; Error log file
; Default Value: /var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log

; Log level
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
;log_level = notice

; If this number of child processes exit with SIGSEGV or SIGBUS within the time
; interval set by emergency_restart_interval then FPM will restart. A value
; of '0' means 'Off'.
; Default Value: 0
;emergency_restart_threshold = 0

; Interval of time used by emergency_restart_interval to determine when 
; a graceful restart will be initiated.  This can be useful to work around
; accidental corruptions in an accelerator's shared memory.
; Available Units: s(econds), m(inutes), h(ours), or d(ays)
; Default Unit: seconds
; Default Value: 0
;emergency_restart_interval = 0

; Time limit for child processes to wait for a reaction on signals from master.
; Available units: s(econds), m(inutes), h(ours), or d(ays)
; Default Unit: seconds
; Default Value: 0
;process_control_timeout = 0

; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
; Default Value: yes
;daemonize = yes

;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ; 
;;;;;;;;;;;;;;;;;;;;

; See /etc/php-fpm.d/*.conf
Shtsh : глобальные опции это где ?

Xazzzi ()
Ответ на: комментарий от Xazzzi

Упс, судя по всему, моя версия слишком древняя, так что формат конфигов другой.

Глобавльные опции - то, что идёт после

;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;

[global]
Shtsh ★★★★ ()
Ответ на: комментарий от Shtsh

Почистил логи, перезапустил нгинкс и РНР, index.html отображает, index.php нет, как и раньше. В логе php-fpm только :

[18-Sep-2011 15:58:50] NOTICE: fpm is running, pid 3848
[18-Sep-2011 15:58:50] NOTICE: ready to handle connections

Xazzzi ()
Ответ на: комментарий от Xazzzi

Но сейчас php у тебя запущен? Посмотри через ps aux | grep php

Shtsh ★★★★ ()

может, дело в чруте?

Ты сначала пишешь, что

chroot = /home/007/www/localhost/html

а потом

fastcgi_param  SCRIPT_FILENAME  /home/007/www/localhost/html$fastcgi_script_name;

Не получается ли так, что нжинкс смотрит на самом деле в

/home/007/www/localhost/html/home/007/www/localhost/html$fastcgi_script_name

?

gistart ()
Ответ на: комментарий от gistart

да вроде не должен, у меня там fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; записано например

dismal_faun ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.