После установки Bookstack у меня ошибка "502 Bad Gateway" ОС - Альт Сервер 10 Код из /etc/nginx/sites-avialable.d/bookstack.conf: Пример беру с Github
server {
listen 80;
listen [::]:80;
server_name 127.0.0.1;
root /var/www/bookstack/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
Код из /var/www/bookstack/.env:
APP_URL=http://127.0.0.1
# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=bookstack
# Mail system to use
# Can be 'smtp' or 'sendmail'
MAIL_DRIVER=smtp
# Mail sender details
MAIL_FROM_NAME = "BookStack"
[email protected]
# SMTP mail options
# These settings can be checked using the "Send a Test Email"
# feature found in the "Settings > Maintenance" area of the system.
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Код из /var/log/nginx/error.log:
2023/04/27 02:59:57 [crit] 20019#20019: *1 connect() to unix:/run/php/php7.4-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "127.0.0.1"
Но в /run/php/ у меня нет этого файла. У меня тоже нет папки php в /run. Бит, если я удалю
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
из /etc/nginx/sites-avialable.d/bookstack.conf, у меня такая же ошибка, но после обновления страницы загружается некоторый текстовый файл.
Переделываю базу под bookstack, переделываю под нее пользователя и привилегии. Проверьте много решений в Интернете, но ничего не подходило для моего случая. Я ожидаю, по крайней мере, правильное направление в пути, где я могу найти дальше.

Ронин, добро пожаловать в StackOverflow и, возможно, в мир инженерии! Позвольте мне попытаться объяснить вам основные концепции того, что вы пытаетесь сделать, чтобы вы могли правильно настроить его в следующий раз самостоятельно.
Во-первых, я никогда не слышал об «AltServer10», из-за которого вам не очень легко следовать общим руководствам по настройке стека приложений с использованием NGINX и PHP-FPM. Но я провел для вас некоторые исследования.
Во-первых, убедитесь, что вы установили PHP-FPM. Это определение пакета: https://packages.altlinux.org/en/p10/srpms/php8.1-fpm-fcgi/
Я понятия не имею, какой менеджер oackage использует AltServer ... Так что вам следует взглянуть на это.
После установки FPM вам необходимо настроить рабочие пулы PHP FPM.
В Ubuntu, RHEL, CentOS файл конфигурации будет в /etc/php/7.3/fpm/pool.d и назван www.conf. Если вы используете другие пакеты, путь конфигурации может быть другим. Реми укажет на
``
Я всегда меняю свои настройки, чтобы отобразить пользователя запуска NGINX следующим образом. Пожалуйста, это не полный www.conf!
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
; a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses
; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php80-fpm.sock
; Set listen(2) backlog.
; Default Value: 511
;listen.backlog = 511
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Конфигурация listen важна. Он сообщает FPM, куда поместить сокет (в данном случае), куда мы можем отправить запрос (из NGINX).
Это должно соответствовать вашей конфигурации nginx. Но сначала давайте создадим/запустим сервис FPM. Опять же, понятия не имею, как это сделать на AltServer, но если Alt использует systemd и systemctl, вы можете сделать что-то вроде
/bin/systemctl start php8-fpm.service
Я изучил пакет AltServer FPM и, скорее всего, служба будет называться так. Посмотрите здесь: https://packages.altlinux.org/en/p10/srpms/php8.1-fpm-fcgi/specfiles/
Хорошо, теперь у вас должна быть запущена и запущена служба FPM. Пожалуйста, проверьте каталог запуска. У него должен быть sock файл типа /var/run/php80-fpm.sock
Мой NGINX PHP выглядит так
location ~ \.php$ {
fastcgi_pass unix:/var/run/php80-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Пожалуйста, проверьте, что у вас в fastcgi.conf. Он должен включать некоторые из директив fcgi, перечисленных выше.
Этого будет достаточно, чтобы ваше PHP-приложение заработало. Очень хороший учебник можно найти на DigitalOcean: https://www.digitalocean.com/community/tutorials/php-fpm-nginx
Он охватывает Ubuntu, но вы должны быть в состоянии адаптировать его.
Альтернативой NGINX с PHP-FPM является модуль NGINX.
Также доступно на AltServer: https://packages.altlinux.org/en/p10/srpms/unit/
Убедитесь, что вы устанавливаете Unit + языковой модуль для PHP unit-php.
Посмотрите здесь: https://packages.altlinux.org/en/p10/binary/unit-php/x86_64/
Конфигурация будет намного проще, так как единственное, что вам нужно сделать, это создать конфигурацию объекта и применить ее. Описано здесь:
http://unit.nginx.org/configuration/#php
Итак, поскольку это конец моего поста, вам предстоит многое прочитать и понять, чтобы двигаться дальше. Я был на вашем месте 15 лет назад. Сначала больно, но оно того стоит. Не следуйте инструкциям слепо. Почитайте про PHP и что такое PHP-FPM. ПОНЯТЬ ПОЧЕМУ! вам нужно что-то вроде FPM или Unit. Это позволит вам расти, и в следующий раз вы сможете настроить установку NGINX + PHP примерно за 5 минут :)
Приятного обучения!
Да, у меня не установлен php8.2-fpm. Это была моя первая ошибка. Далее я шаг за шагом двигался, проверял или редактировал файлы. Самое сложное было просто найти похожий conf.file в моей версии linux, хотя она основана на debian os. Теперь у меня слепая страница, когда я пытаюсь загрузить книжную стопку, мой журнал ошибок nginx показывает мне ошибку о laravel, но я попытаюсь добраться до финиша.
Прежде всего хочу сказать вам "Спасибо" за то, что вы находите время и желаете помочь мне.