[РЕШЕНО] Gentoo, nginx, php5-fpm (Не поднимается)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Ответить
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

[РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Решил освоить генту, среди прочего понадобилось сделать локальный веб-сервер.
Ставлю nginx и php с такими USE-флагами:

Код: Выделить всё

[ebuild   R    ] www-servers/nginx-1.7.4  USE="http http-cache pcre ssl vim-syntax -aio -debug -ipv6 -libatomic -luajit -pcre-jit -rtmp (-selinux)" NGINX_MODULES_HTTP="access auth_basic autoindex fastcgi gunzip gzip gzip_static memcached perl rewrite scgi -addition -ajp -auth_pam -auth_request -browser -cache_purge -charset -dav -dav_ext -degradation -echo -empty_gif -fancyindex -flv -geo -geoip -headers_more -image_filter -limit_conn -limit_req -lua -map -metrics -mogilefs -mp4 -naxsi -proxy -push_stream -random_index -realip -referer -secure_link -security -slowfs_cache -spdy -split_clients -ssi -sticky -stub_status -sub -upload_progress -upstream_check -upstream_ip_hash -userid -uwsgi -xslt" NGINX_MODULES_MAIL="-imap -pop3 -smtp"
[ebuild   R    ] dev-lang/php-5.5.16:5.5  USE="bzip2 cgi cli crypt ctype curl fileinfo filter fpm gd gdbm hash iconv json nls opcache phar posix readline session simplexml sqlite ssl tidy tokenizer unicode xml zip zlib -apache2 -bcmath -berkdb -calendar -cdb -cjk -debug -embed -enchant -exif (-firebird) -flatfile (-frontbase) -ftp -gmp -imap -inifile -intl -iodbc -ipv6 -kerberos -ldap -ldap-sasl -libedit -libmysqlclient -mhash -mssql -mysql -mysqli -oci8-instant-client -odbc -pcntl -pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -spell (-sybase-ct) -systemd -sysvipc -threads -truetype -vpx -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt"

Создаю каталог, где размещаю нужное мне содержимое:

Код: Выделить всё

 $ ls -lR /home/www/probe/
/home/www/probe/:
итого 8
drwxr-xr-x 2 nginx nginx 4096 окт  9 20:47 images
drwxr-xr-x 2 nginx nginx 4096 окт 10 16:43 www

/home/www/probe/images:
итого 120
-rw-r--r-- 1 nginx nginx 119255 окт  9 20:47 wot.jpg

/home/www/probe/www:
итого 8
-rw-r--r-- 1 nginx nginx 110 окт  9 20:48 index.html
-rwxr-xr-x 1 nginx nginx  23 окт 10 16:43 index.php
 $ cat /home/www/probe/www/index.php
<?
 php phpinfo();
?>

Пишу конфиг для nginx:

Код: Выделить всё

 $ cat /etc/nginx/nginx.conf
user nginx;
worker_processes 4;
pid /run/nginx.pid;

events {
        worker_connections 768;
}

http {
        gzip on;
        gzip_min_length 1100;
        gzip_buffers 4 8k;
        gzip_types text/plain;

    server {
        index index.php;
        location / {
            root /home/www/probe/www;
        }
        location /images/ {
            root /home/www/probe/;
        }
        location ~ \.php$ {
            root /home/www/probe/www;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index  index.php;

                        fastcgi_param  SCRIPT_FILENAME  /home/www/probe/www/$fastcgi_script_name;
                        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_param  REDIRECT_STATUS  200;
                }
    }
}

Проверяю, какой слушается fcgi-сокет:

Код: Выделить всё

 $ grep fpm.sock /etc/php/fpm-php5.5/php*
/etc/php/fpm-php5.5/php-fpm.conf:listen =  /var/run/php5-fpm.sock

Рестартую демоны php-fpm и nginx, открываю в огнелисе страницу с localhost и вижу там 502 Bad Gateway.
Открываю логи нжинкса и вижу такое:

Код: Выделить всё

2014/10/10 20:02:04 [crit] 14140#0: *6 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost"

Гугл меня уже в лицо узнает, ошибок подобных - куча, но вот решения не помогают.
Подскажите, в каком месте грабли?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Что в логах php-fpm?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
11.10.2014 00:06
Что в логах php-fpm?

Код: Выделить всё

[10-Oct-2014 20:07:13] NOTICE: fpm is running, pid 14519
[10-Oct-2014 20:07:13] NOTICE: ready to handle connections
[10-Oct-2014 20:08:01] NOTICE: Finishing ...
[10-Oct-2014 20:08:01] NOTICE: exiting, bye-bye!
[10-Oct-2014 20:08:01] NOTICE: fpm is running, pid 14642
[10-Oct-2014 20:08:01] NOTICE: ready to handle connections
[10-Oct-2014 21:47:28] NOTICE: Finishing ...
[10-Oct-2014 21:47:28] NOTICE: exiting, bye-bye!
Что-то не особо помогает((
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Покажите ls -l /var/run/php5-fpm.sock
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
13.10.2014 19:59
Покажите ls -l /var/run/php5-fpm.sock

Код: Выделить всё

 $ sudo ls -l /var/run/php5-fpm.sock
ls: невозможно получить доступ к /var/run/php5-fpm.sock: Нет такого файла или каталога
 $ sudo ls /var/run/
crond.pid  cron.reboot    ifplugd.enp8s0.pid  lock  lvm  mount  ntpd.pid    openrc    php-fpm  samba    slim.auth  slim.pid  syslog-ng.ctl  syslog-ng.pid  tmpfiles.d  udev  utmp

Внезапно, такого нет.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Давайте сюда весь конфиг php-fpm.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
13.10.2014 20:11
Давайте сюда весь конфиг php-fpm.

Код: Выделить всё

[global]
error_log = /var/log/php-fpm.log
[www]
listen =  /var/run/php5-fpm.sock

user = nobody
group = nobody
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35

Это без комментированного.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Ещё каких-нибудь файлов в /etc/php/fpm-php5.5/ нет?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
13.10.2014 22:29
Ещё каких-нибудь файлов в /etc/php/fpm-php5.5/ нет?

Есть:

Код: Выделить всё

 $ grep -v -E "^;|^$" /etc/php/fpm-php5.5/php.ini
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 17
open_basedir =
disable_functions =
disable_classes =
zend.enable_gc = On
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
html_errors = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
include_path = ".:/usr/share/php5:/usr/share/php"
doc_root =
user_dir =
enable_dl = Off
cgi.fix_pathinfo=1
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
[CLI Server]
cli_server.color = On
[Date]
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = On
[OCI8]
[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.save_path = "/tmp"
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatibility_mode = Off
mssql.secure_connection = Off
[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba]
[opcache]
[curl]
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Внезапно появился:

Код: Выделить всё

$ sudo ls -l /var/run/php5-fpm.sock
srw-rw---- 1 root root 0 окт 14 16:28 /var/run/php5-fpm.sock

Но в браузере так и виcит 502 Bad Gateway
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Логично, nginx ведь не от рута работает. Надо дать ему доступ к сокету, то бишь прописать для него правильного владельца или группу вместо
Yaros писал(а):
13.10.2014 20:34
user = nobody
group = nobody

Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
14.10.2014 17:03
Логично, nginx ведь не от рута работает. Надо дать ему доступ к сокету, то бишь прописать для него правильного владельца или группу вместо
Yaros писал(а):
13.10.2014 20:34
user = nobody
group = nobody


Это ведь /etc/php/fpm-php5.5/php-fpm.conf? Прописал туда юзера и группу nginx, после рестарта демонов nginx и php-fpm сокет все равно принадлежит root'у.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Yaros писал(а):
14.10.2014 17:21
Прописал туда юзера и группу nginx

А такие юзер и группа существуют? Я не в курсе, как оно там в gentoo, но в других дистрибутивах обычно название группы для веб-сервера более общее (www-data например).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
14.10.2014 18:13
Yaros писал(а):
14.10.2014 17:21
Прописал туда юзера и группу nginx

А такие юзер и группа существуют? Я не в курсе, как оно там в gentoo, но в других дистрибутивах обычно название группы для веб-сервера более общее (www-data например).

Код: Выделить всё

$ tail /etc/passwd
nullmail:x:88:88:added by portage for nullmailer:/var/nullmailer:/sbin/nologin
rand:x:1000:1000::/home/rand:/bin/bash
tcpdump:x:102:245:added by portage for tcpdump:/dev/null:/sbin/nologin
messagebus:x:103:244:added by portage for dbus:/dev/null:/sbin/nologin
polkitd:x:104:243:added by portage for polkit:/var/lib/polkit-1:/sbin/nologin
games:x:36:35:added by portage for games-envd:/usr/games:/bin/bash
timidity:x:105:18:added by portage for timidity++:/var/lib/timidity:/sbin/nologin
ntp:x:123:123:added by portage for ntp:/dev/null:/sbin/nologin
nginx:x:106:104:added by portage for nginx:/var/lib/nginx:/sbin/nologin
www:x:1001:1001::/home/www:/bin/bash
[14 окт 2014 18:14:25] rand@DragonReborn ~
$ tail /etc/group
rand:x:1000:
tcpdump:x:245:
messagebus:x:244:
polkitd:x:243:
games:x:35:rand
lpadmin:x:106:
vboxusers:x:105:
ntp:x:123:
nginx:x:104:
www:x:1001:

Есть. Еще есть кстати юзер www, в хомяке которого лежат страницы.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

В порядке эксперимента в nginx.conf поменял юзера:

Код: Выделить всё

$ head /etc/nginx/nginx.conf
user root;
worker_processes 4;
pid /run/nginx.pid;

events {
        worker_connections 768;
}

http {
        gzip on;

Ожило. Все же что-то не так с правами, выходит. Оставлять рута некрасиво, буду ковырять дальше...
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Решение проблемы:

Код: Выделить всё

$ grep ^listen /etc/php/fpm-php5.5/php-fpm.conf
listen =  /var/run/php5-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

В сём конфиге среди относяшихся к делу параметров видим владельца и группу (у меня изначально были nobody и закоментарены сами опции). Они должны совпадать с тем пользователем, что указан в конфиге nginx в параметре user.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Bizdelnick »

Yaros писал(а):
15.10.2014 15:25
listen.mode = 0666

Это уже перебор, наверное. 0660 выше крыши будет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [РЕШЕНО] Gentoo, nginx, php5-fpm

Сообщение Yaros »

Bizdelnick писал(а):
15.10.2014 15:47
Yaros писал(а):
15.10.2014 15:25
listen.mode = 0666

Это уже перебор, наверное. 0660 выше крыши будет.

Это понятно, просто скопировал вывод, как только удалось запустить.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Ответить