500 ошибка Nginx

12
D
На сайте с 28.06.2008
Offline
1101
544

Сайт крутился на апаче. Все работало. Решил перевести на Nginx (он тоже стоял).

Выключил апач, создал для сайта конфиг, перезагрузил Nginx - 500 ошибка. Настраивал все как раньше уже много раз. Не пойму что сейчас не так.

Куда копать?

В папке /var/log/nginx   в логе сайта вижу запрос к сайту с 500 ошибкой и все.

Роботс сайта по адресу https://site.ru/robots.txt открывается нормально

Ilya74
На сайте с 12.06.2008
Offline
354
#1
Если статика открывается нормально, то скорее всего у вас некорректно настроена обработка PHP.
⚡️ Хостинг и VPS в Москве, Новосибирске, Нидерландах, США ( https://x5x.host )
W1
На сайте с 22.01.2021
Offline
289
#2
Dram :
Роботс сайта по адресу https://site.ru/robots.txt открывается нормально

Значит PHP не работает.

Мой форум - https://webinfo.guru –Там я всегда на связи
D
На сайте с 28.06.2008
Offline
1101
#3
Так info.php открывается же. Включил ошибки - получил "Error: Failed to start application: Failed to start the session"
W
На сайте с 19.09.2011
Offline
89
#4
Dram #:
Так info.php открывается же. Включил ошибки - получил "Error: Failed to start application: Failed to start the session"
Неверная конфигурация Nginx.
baas
На сайте с 17.09.2012
Offline
162
#5
Dram #:
Так info.php открывается же. Включил ошибки - получил "Error: Failed to start application: Failed to start the session"

А права на создание сессий у nginx есть?

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
Евгений Крупченко
На сайте с 27.09.2003
Offline
178
#6

Nginx PHP не выполняет сам и прав никаких у него быть не должно .

Смысл вообще подобное по форумам спрашивать? Ни у кого кроме вас нет доступа к логам/конфигам, никто ни малейшего представления тут не имеет что там происходит.

Все ответы всегда в логах. Если в логах нет, значит не включено (не достаточно детально) включено логирование.

Failed to start the session - более-менее однозначно говорит о том что нету доступа на создание файла сессии... у кого? Нам-то откуда знать?

Видимо у пользователя под которым работает у вас PHP-FPM (или что другое, кто знает).

Скорей всего session.save_path  указывает на /tmp и возможно (верней так лучше и делать всегда) на /tmp стоят права типа 000, т.е. никто кроме root'а не может туда ничего писать.

Задайте в php.ini session.save_path куда-то в доступности этого пользователя.


baas
На сайте с 17.09.2012
Offline
162
#7
Евгений Крупченко #:
Скорей всего session.save_path  указывает на /tmp и возможно (верней так лучше и делать всегда) на /tmp стоят права типа 000, т.е. никто кроме root'а не может туда ничего писать.

Вы ничего не путаете?

На tmp должны быть права 777

По поводу сессий, я имел ввиду это же что вы пишите, что у пользователя под которым работает nginx нет прав на создания сессий.

Евгений Крупченко
На сайте с 27.09.2003
Offline
178
#8

Ничего не путаю. Ну смотря для чего конечно серверок используется и кем. Но если речь про хостинг сайтов, то нет, не нужно всем пользователями иметь (и разводить там страшную помойку) доступ в общий /tmp.

У каждого свой должен быть. Собственно так и сделано у меня везде много лет уж как.

И, еще раз, пользователю, под которым работает nginx достаточно лишь иметь доступ к файлам сайтов, к статике которую он раздает сам. И больше никуда ему нет надобности иметь доступа.

Хотя если и nginx и php-fpm работают от одного и того же пользователя, то да. Но зачем так делать, это уже отдельный вопрос.

PHP же наверняка запущено от другого пользователя (или нескольких разных), вот он и должен иметь доступ к папке, указанной в session.save_path и причем она может быть отлична от tmp папки пользователя. Т.е. сессии отдельно, темп отдельно.

Skom
На сайте с 02.12.2006
Offline
165
#9

Если памяти много, пишите сессии в redis. И лучше с сериализацией igbinary.

Я уж и не помню, когда последний раз в фс писал сессии. Разве только для каких-нибудь рукожопных поделок, которые сами путь к сессиям переопределяют...

Cras amet qui numquam amavit quique amavit cras amet
P
На сайте с 27.10.2014
Offline
222
#10
Хосподя, да выложи сюда конфиг, это нифига не скеретная инфа да и все понятно станет. И нафига связка Apache + NGINX? Тупо его по дефолту поставь да и всё. Такие вопросы задают на stackowerflow, с позором уходят, но вопрос решают за 1 минуту. Без конфига никто никогда не поймет что там у тебя не так. Ну и для начала задай себе вопрос -- зачем тебе вообще NGINX?
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий