Как запустить php-fpm8.1 на ubuntu docker

Рейтинг: -2Ответов: 1Опубликовано: 10.06.2023

Установил php-fpm8.1 на ubuntu, на которой стоит еще и nginx. Хочу сделать проксирование на php-fpm8.1 чтобы заработали php файлы. Настроил порты, прописал необходимые опции в конфиге, тут приводить их не буду, вопрос не о них, да и дело не в них.

Проблема в том, что php-fpm8.1 не слушает порт, который я ему задал. То есть у меня в контейнере открыт только 80 порт от nginx и все. Команда service php-fpm8.1 start выводит в консоль php-fpm8.1: unrecognized service, хотя при команде php-fpm8.1 -v получаю корректный результат. Уже перерыл так много информации на эту тему, но ничего так и не нашел...

Ответы

▲ -1Принят

Команда для установки - apt install php8.1-fpm, но как оно бывает с рядом других пакетов, доступно оно будет как php-fpm8.1, то есть не по тому имени, по которому вы загружали пакет.

Когда работа идет в докере нужно учитывать следующую особенность, если вы запускаете образ дистрибутива ubuntu и устанавливаете nginx туда, то при запуске контейнера необходимо будет запустить nginx service nginx start. Теперь что касается php-fpm. В большинстве источников, я повторюсь, в подавляющем большинстве, говорится о запуске и начале работы php-fpm через команду service или аналогичные ей, но в моем случае нужно было просто прописать - php-fpm8.1 без каких либо аргументов...

В большинстве же случаев команда запустится так service php8.1-fpm start. Не забудьте проверить ее service php8.1-fpm status. Поднимать свой сервер задача не простая, столкнетесь с большим количеством подводных камней. Не забывайте редактировать по необходимости php.ini и не перепутайте его с php-ini от php-cli, а также загляните в www.conf (от php-fpm) и посмотрите настройки там. Самое важное от www.conf это посмотреть user и user-group, чтобы он был сопоставим с полем user в nginx. Также проверьте права на запись в файл от имени php и многое многое другое...