failed to start the php fastcgi process manager
Failed to start The PHP 7.0 FastCGI Process Manager
i have problem with php7 when i run this command i get the error
sudo systemctl status php7.0-fpm.service
4 Answers 4
You probably must do this
In my case, previous php7.2-fpm configuration cause problem:
so i deleted directory, and reinstall solve the problem.
(if this is not first time, then backup below php fpm configuration)
I had this issue on Fedora 33. I simply uninstalled php and httpd
This solved my issue
I had upgraded the PHP version form 7.1 to 7.3. I had to kill the running PHP fpm process of 7.1 first before initiating 7.3
Get the process id from the following command:
Not the answer you’re looking for? Browse other questions tagged php ubuntu or ask your own question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.9.16.40232
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Почему не стартует php7.2-fpm после ребута?
Jan 28 05:07:26 vm-83a6fe5c systemd[1]: Starting The PHP 7.2 FastCGI Process Manager.
Jan 28 05:08:57 vm-83a6fe5c systemd[1]: php7.2-fpm.service: Start operation timed out. Terminating.
Jan 28 05:08:57 vm-83a6fe5c systemd[1]: Failed to start The PHP 7.2 FastCGI Process Manager.
Jan 28 05:08:57 vm-83a6fe5c systemd[1]: php7.2-fpm.service: Unit entered failed state.
Jan 28 05:08:57 vm-83a6fe5c systemd[1]: php7.2-fpm.service: Failed with result ‘timeout’.
Александр Владимирович, давайте поясню, раз не только у вас такая штука, как наблюдаю в комментариях.
Более полное описание ситуации: проблема есть только при старте системы. Если перезапустить сервис на работающей машине все достаточно быстро поднимается.
Пример как отлавливать баги в случае старта сервисов из под systemd:
Для понимания причины добавляем в вызов запуска сервиса слежение за ним через strace с записью лога в файл. Для этого достаточно добавить полный путь до этой утилиты и набор ключей в строку запуска сервиса, например:
Собственно так можно дебажить любое приложение. После перезагрузки смотрим в указанный нами файл, чтобы понять на чем сломалось.
Далее конкретно про наш случай.
Выполнение команды запуска ломается на запросе getrandom. Если выставить задержку старта процесса, то данный запрос отрабатывает. При этом, чем дальше отложить старт сервиса, тем быстрее он работает.
Данный вызов напрямую связан с системными вызовами random/urandom и количеством энтропии в системе. Очевидно, что от времени старта работа системных вызовов не должна меняться, хотя и стоит проверить последовательность старта сервисов в systemd. Значит это энтропия.
На старте смотрим количество
и получаем бодрый нолик в момент первого запроса getrandom, что и является причиной сбоя. Энтропия нарастает медленно, а она нужна веб-серверу для осуществления криптографических функций. В установленный таймаут вызов не успевает набрать необходимого числа случайных данных из-за низкой энтропии. Как решение можно использовать пакет haveged. Более того, мы приняли решение добавить его в наш образ по молчанию и проблема в ближайшее время перестанет возникать на новых виртуальных серверах.
Выдержка из статьи на тему энтропии:
Linux уже предоставляет довольно качественные случайные данные при помощи вышеописанного ПО, но поскольку автономные компьютеры обычно не имеют клавиатуры или мыши, генерируемая на них энтропия гораздо ниже, поскольку создаётся диском или I/O сети. Очень немногие автономные машины имеют специальное аппаратное обеспечение для ГСЧ, поэтому существует несколько пользовательских решений для создания дополнительной энтропии при помощи аппаратных прерываний, т.к. некоторые устройства (например, звуковые и видеокарты) создают больше так называемого «шума», чем жёсткий диск. К сожалению, даже это не решает проблему виртуальных серверов, т.к. там генерировать энтропию практически нечему. Но тут на помощь приходит инструмент haveged. Основанный на алгоритме HAVEGE (а ранее – на его библиотеке), haveged позволяет генерировать случайные данные, руководствуясь изменениями во времени выполнения кода на процессоре.
Drupal Русскоязычное сообщество
поставил на Debian 8 сервер Nginx + PHP7 + PHP7.0-FPM, статика работает, а обращение к php-файлам даёт ошибку 502.
почитав /var/log/nginx/site.com.error.log я понял что ошибка с сокетом:
2016 / 08 / 19 05:05: 32 [ error ] 1392 #1392: *15 connect() to unix:/var/run/php7.0-fpm.sock failed (111: Connection refused) while connecting to upstream, client: 88.88.88.88, server: site.com, request: «GET /index.php HTTP/1.1», upstream: «fastcgi://unix:/var/run/php7.0-fpm.sock:», host: «site.com»
но в интернете пояснили, что возможно не запущен процесс обработки запросов, то есть php7.0-fpm, я проверил так и убедился что пхп-фпм не запускается:
Лучший ответ
Комментарии
может поиск процесса неправильный. вот так что-то видно
вот код /etc/init.d/php7-fpm
# Author: Ondrej Sury
# Adapted to php7-fpm by @B..joh..en
# Load the VERBOSE setting and other rcS variables
. / lib / init / vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. / lib / lsb / init-functions
# Don’t run if we are running upstart
if init_is_upstart; then
exit 1
fi
#
# Function to check the correctness of the config file
#
do_check ( )
<
/ usr / local / lib / php7-fpm-checkconf || return 1
return 0
>
pool настраивали?
По правде говоря у меня с сокетом тоже траблы были и было лень разбираться и запускал через tcp
В бложике есть устаревший материал, но настройки fpm и пула там в принципе актуальны.
pool не упоминался в мануалах, я не знаю что это такое
вот как настроена связка Nginx + php7.0-fpm
pid = / var / run / php7-fpm.pid
error_log = / var / log / php7-fpm. log
include = / usr / local / php7 / etc / php-fpm.d /*.conf
# cat /usr/local/php7/etc/php-fpm.d/www.conf
[www]
user = www-data
group = www-data
listen = /var/run/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
вот конфиг хоста site.com
access_log / var / log / nginx / site.com.access. log main;
error_log / var / log / nginx / site.com.error. log ;
/ \. <
deny all;
access_log off;
log_not_found off;
>
>
в этом файле я эту строку правил и еще по-моему одну из эти раскомментировал:
user = www-data
group = www-data
ну теперь я исправил слушать сокет:
listen = /var/run/php7.0-fpm.sock
рестарт сервиса
service php7-fpm restart
ПРОБЛЕМ НЕ РЕШИЛАСЬ
снёс php7 со всеми зависимостями, и php тоже снес так
apt-get purge php7
apt-get remove php*
и поставил php5-fpm одной строкой из одного мануала на моем сайте.
подкорректировал /etc/nginx/fastcgi_params (изменив адрес сокета на /var/run/php5-fpm.sock),
и сайт нормально стал работать
спасибо за ссылку. пытаюсь заново на новой впсине.
вообще меня смущала и сейчас опять появляется следующая проблема:
после запуска команды автора http://kubanga.ru/obnovlenie-php-56-do-php-7-v-debian-jessie-na-vds-digi.
«Устанавливаем php7
apt-get install php7.0-fpm php7.0-gd php7.0-pgsql php7.0-apcu php7.0-curl»
все ставится но в конце вот что сообщвет:
но ввсе вроде есть, просто вопрос сконфигурировано ли?
что тут не так? пользователя я создал. группу ему дал
в смысле в одну? я проверял, скопированные строки вставлял в sublime и с пробелами было все нормально.
в debian 7 был apc, а в debian8 apcu
в конфигурации apc
Когда с седьмого дебиана на восьмой переходил было неожиданностью)
после установки сервера по неполной инструкции, я увидел ошибку
The website encountered an unexpected error. Please try again later.
просмотрев логи ошибок nginx (файл ошибок сайта не был прописан в хосте, поэтому именно нгиникс):
я стал гуглить и понял, что надо доставить пакеты работы php7.0-fpm с базами mysql:
после установки модулей для работы с бд, я опять увидел то же сообщение и в ошибках нгиникс были новые ошибки:
PHP message: Error: Class ‘DOMDocument’ not found in core / lib / Drupal / Component / Utility / Html.php on line 284
это предполагает установку php7.0-xml как я понял
после всех этих действий мой сайт открылся на Debian 8 Nginx + PHP7.0-FPM + mysql
спасибо михаил.спейс за рабочий мануал
Я в с соседней теме писал про php7.0-xml, тоже была такая беда.
Не получается подружить nginx и php
Ага и стоило из-за этого такой тред разводить 😉
Тебе же писали, что копаешь ты старательно, только не туда.
Ставь отметку «решено».
Только сначала кое-что проверю. Я, пожалуй переустановлю php с репозитория webtatic, а то он слишком старый, mediawiki не ставится.
Да, и у меня второй вопрос был, как устанавливать пакет php-fpm без зависимостей, чтобы httpd не устанавливался?
Самоцель? Не понимаю. Ты с конфигами в трёх соснах заплутал.
Его проще отключить, чем потом еще другие возможные косяки разгребать.
Если пакеты так собирают, значит в этом есть смысл.
Привычка. Не люблю когда лишнее ПО.
Поставил я кучку тех нужных и ненужных пакетов, что по той ссылке. Вобщем. не взлетело.
Отбой, уже сам нашёл:
В /etc/php.d/apcu.ini нужно «apc.shm_size=64M» поменять на «apc.shm_size=16M»
Не знаю, это уже похоже на карму)
Я вот специально из-за твоего случая запущу виртуалку CentOS 6.8 i686.
Проверю инструкцию выше.
Эх забыл написать что у меня nginx тоже от apache пускается. nginx.conf Секция user apache;
Ну, да, если права у файла сокета 0666 то какая разница.
И до сих порт не работает.
мне кажется, что сразу надо было слушать тех, кто сказали, что nginx пригоден для работы в качестве прокси в дополнении к apache, но никак не заменой apache.
Есть тут клиент, у него настроен nginx и он хочет странного, предлагает деньги. Вот пытаюсь на тестовом сервере воспроизвести его ситуацию, прежде чем что-то предлагать.
Не знаю. У тебя точно карма испорчена.
За это время при нормальных условиях и внимании его уже 10 раз можно было поднять.
кто сказали, что nginx пригоден для работы в качестве прокси в дополнении к apache, но никак не заменой apache.
Большая половина веб-разрабов ЛОРа с тобой не согласна.
Менеджер процессов FastCGI (FPM)
Содержание
FPM (FastCGI Process Manager, менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями обычно используемыми для высоконагруженных сайтов.
Эти возможности включают в себя:
продвинутое управление процессами с корректной (graceful) процедурой остановки и запуска;
возможность запуска воркеров с разными uid/gid/chroot/окружением, а также запуска на различных портах с использованием разных php.ini (замещение safe_mode);
логирование стандартных потоков вывода (stdout) и ошибок (stderr);
аварийный перезапуск в случае внезапного разрушения opcode-кеша;
поддержка ускоренной загрузки (accelerated upload);
Динамическое/статическое порождение дочерних процессов;
Базовая информация о статусе SAPI (аналогично Apache mod_status);
Конфигурационный файл, основанный на php.ini.
User Contributed Notes 8 notes
You will probably want to create an init script for your new php-fpm. Fortunately, PHP 5.3.3 provides one for you, which you should copy to your init directory and change permissions:
/sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm
$ chmod 755 /etc/init.d/php-fpm
It requires a certain amount of setup. First of all, make sure your php-fpm.conf file is set up to create a PID file when php-fpm starts. E.g.:
—-
pid = /var/run/php-fpm.pid
—-
(also make sure your php-fpm user has permission to create this file).
Now open up your new init script (/etc/init.d/php-fpm) and set the variables at the top to their relevant values. E.g.:
—
prefix=
exec_prefix=
php_fpm_BIN=/sbin/php-fpm
php_fpm_CONF=/etc/php-fpm.conf
php_fpm_PID=/var/run/php-fpm.pid
—
Your init script is now ready. You should now be able to start, stop and reload php-fpm:
$ /etc/init.d/php-fpm start
$ /etc/init.d/php-fpm stop
$ /etc/init.d/php-fpm reload
The one remaining thing you may wish to do is to add your new php-fpm init script to system start-up. E.g. in CentOS:
$ /sbin/chkconfig php-fpm on
Disclaimer: Although I did just do this on my own server about 20 mins ago, everything I’ve written here is off the top of my head, so it may not be 100% correct. Also, allow for differences in system setup. Some understanding of what you are doing is assumed.