багом не является php-fpm + nginx проблема с сессиями (?)

Статус
В этой теме нельзя размещать новые ответы.

Warden

Пользователь
выглядит приблизительно так:
первый заход - отображение страницы.
любое действие или перегрузка страницы - 404 ошибка. после паузы в пару минут страница отображается, но один раз и до следующего действия. tp 2.2.1
 

Warden

Пользователь
особенностью TP под php-fpm + nginx является то, что практически любая ошибка в TP приводит к 404:
2017/06/18 02:48:06 [error] 25712#25712: *83 open() "/home/www/torrentpier/50x.html" failed (2: No such file or directory), c
lient: 1.1.1.1, server: 2.2.2.2, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/php-fpm.socke
t", host: "2.2.2.2"

другого разумного объяснения почему оно то работает, то нет кроме сессий я не вижу. логи сервера тут бесполезны. есть xdebug.
для первой загрузки - ok.xt (переименован в ok.txt), для последующей (не работающей) - err.xt (переименован в err.txt)
 

Вложения

  • ok.txt
    943.7 KB · Просмотры: 2
  • err.txt
    208.8 KB · Просмотры: 4

Exile

Администратор
Ну как минимум у вас 404 из-за того что прописаны страницы для ошибок в конфигурации nginx которых фактически нет. Движок тут отношение имеет посредственное. А по поводу того, почему может выдавать 50х ошибку - надо смотреть в логи движка, а не xdebug, но вероятнее всего нет прав на запись в кеш из-за того что права на файлы принадлежат не пользователю, от чьего имени работает сервер.
 

Protektor

Пользователь
Warden, права не директорию сайта + влож. каталоги какому юзеру принадлежат?

особенностью TP под php-fpm + nginx является то, что практически любая ошибка в TP приводит к 404
у меня на 2.1.5 и 2.2.1 nginx+php-fpm и таких проблем нет.
 

Warden

Пользователь
Ну как минимум у вас 404 из-за того что прописаны страницы для ошибок в конфигурации nginx которых фактически нет.
да.
Движок тут отношение имеет посредственное.
непосредственное - генерит 500 ошибку.
у меня на 2.1.5 и 2.2.1 nginx+php-fpm и таких проблем нет.
интересно увидеть конфиги php/nginx

надо смотреть в логи движка
где?
, но вероятнее всего нет прав на запись в кеш из-за того что права на файлы принадлежат не пользователю, от чьего имени работает сервер.
в internal_data/cache и internal_data/cache/filecache файлы создаются. будучи удалёнными пересоздаются. кстати, include_path туда должен смотреть?
в internal_data/log логи создавались, после их удаление - ничего нет
 

Exile

Администратор
интересно увидеть конфиги php/nginx
Тут демка на аналогичной конфигурации и аналогично без проблем. Вам написали возможную причину. Других ошибок зарегистрировано не было ни от кого.
Код:
#user 'torrentpier' virtual host 'demo.torrentpier.com' configuration file
server {
        server_name demo.torrentpier.com;
        listen 46.101.205.101:80;
        listen [2a03:b0c0:3:d0::10c:1]:80;
        return 301 https://$host$request_uri;
}
server {
        server_name demo.torrentpier.com;
        listen 46.101.205.101:443 ssl http2;
        listen [2a03:b0c0:3:d0::10c:1]:443 ssl http2;

        charset UTF-8;
        disable_symlinks if_not_owner from=$root_path;
        gzip on;
        gzip_comp_level 5;
        index index.html index.php;
        root $root_path;
        set $root_path /var/www/torrentpier/data/www/demo.torrentpier.com;

        ssi on;
        access_log /var/www/httpd-logs/demo.torrentpier.com.access.log;
        error_log /var/www/httpd-logs/demo.torrentpier.com.error.log notice;
        include /etc/nginx/vhosts-includes/*.conf;
        include /etc/nginx/vhosts-resources/demo.torrentpier.com/*.conf;

        # Let's Encrypt
        include /etc/nginx/snippets/ssl-demo.torrentpier.com.conf;
        include /etc/nginx/snippets/ssl-params.conf;

        location / {
                location ~ [^/]\.ph(p\d*|tml)$ {
                        try_files /does_not_exists @php;
                }
        }
        location @php {
                fastcgi_index index.php;
                fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]";
                fastcgi_pass unix:/var/www/php-fpm/torrentpier-7.1.sock;
                fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
                try_files $uri =404;
                include fastcgi_params;
        }
}
Конфигурация php 7.1 коробочная.
 

Warden

Пользователь
мильпардон, но я конфигурацию брал из install/nginx.
так она хоть как-то работает.
ваша очевидно неполна, как минимум непонятно что в
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/demo.torrentpier.com/*.conf;
при условии что fastcgi_params стандартный
 

Exile

Администратор
Warden, ничего, те строки можно не брать в расчет. Конфигурация более чем полная.
 

Exile

Администратор
И все же не увидели ответа на вопрос какому пользователю принадлежат файлы? Все до единой проблемы такого плана связаны с правами доступа, а конкретно владельцем файлов. И я даже знаю что именно не может записаться - триггер запуска крона. Поэтому вы видите ошибку с периодичностью. Но это повторюсь - проблема конфигурации вашего сервера, а не движка.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху