Ubuntu php5-fpm выдает неизвестный экземпляр при перезагрузке

У меня возникают проблемы с ubuntu и php5-fpm на моем VPS. Php работает нормально, однако при попытке перезагрузки / перезапуска / остановки он вызывает ошибку терминала. В принципе, я не могу остановить php, потому что он не распознает экземпляр

В нем говорится: «Перезагрузка: неизвестный экземпляр:« Если я попробую «перезапустить службу php5-fpm», это неизвестный экземпляр sais и дает это в журналах

[15-Nov-2013 11:56:40] ERROR: An another FPM instance seems to already listen on /var/run/php5-fpm.sock [15-Nov-2013 11:56:40] ERROR: FPM initialization failed [15-Nov-2013 11:56:40] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful 

Я слушаю php на /var/run/php5-fpm.sock; Я использую nginx для веб-сервера, и он правильно настроен с помощью

 fastcgi_pass unix:/var/run/php5-fpm.sock; 

(или так я знаю) Также нужно упомянуть, что это произошло после перезагрузки.

Сайт работает хорошо, однако я не думаю, что это хороший знак. Есть предположения ? Спасибо.

РЕДАКТИРОВАТЬ: Я сделал это, как указано ниже. Кажется, что если я убью этот процесс, а затем начну / остановимся, он отлично работает. Однако после того, как я использую команду reload, она перестает повторять экземпляр.

 root@developer2:/# service php5-fpm stop stop: Unknown instance: root@developer2:/# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Nov14 ? 00:00:00 init root 1101 1 0 Nov14 ? 00:00:00 /sbin/udevd --daemon root 1168 1 0 Nov14 ? 00:00:00 /usr/sbin/sshd -D root 1227 1 0 Nov14 ? 00:00:00 /usr/sbin/xinetd -dontfork -pidfile /var/run/xinetd.pid -stayalive -inetd_compa root 1229 1 0 Nov14 ? 00:00:00 cron mysql 1249 1 0 Nov14 ? 00:00:18 /usr/sbin/mysqld syslog 1283 1 0 Nov14 ? 00:00:00 /sbin/syslogd -u syslog memcache 1293 1 0 Nov14 ? 00:00:07 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 root 1426 1 0 Nov14 ? 00:00:00 /usr/lib/postfix/master postfix 1440 1426 0 Nov14 ? 00:00:00 qmgr -l -t fifo -u root 1468 1 0 Nov14 ? 00:00:00 /usr/sbin/varnishd -P /var/run/varnishd.pid -a :80 -T localhost:6082 -f /etc/va nobody 1469 1468 0 Nov14 ? 00:01:14 /usr/sbin/varnishd -P /var/run/varnishd.pid -a :80 -T localhost:6082 -f /etc/va root 1593 1 0 Nov14 ? 00:00:14 /usr/bin/python /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock root 1595 1 0 Nov14 ? 00:00:00 /usr/lib/gamin/gam_server www-data 3535 1 0 Nov14 ? 00:00:30 php-fpm: pool www postfix 10016 1426 0 11:18 ? 00:00:00 pickup -l -t fifo -u -c root 10064 1168 0 11:37 ? 00:00:00 sshd: root@pts/0 root 10080 10064 0 11:37 pts/0 00:00:00 -bash root 10143 1168 0 11:47 ? 00:00:00 sshd: root@notty root 10159 10143 0 11:47 ? 00:00:00 /usr/lib/openssh/sftp-server root 11330 1 0 12:03 ? 00:00:00 nginx: master process /usr/sbin/nginx www-data 11331 11330 0 12:03 ? 00:00:00 nginx: worker process www-data 11332 11330 0 12:03 ? 00:00:00 nginx: worker process www-data 11333 11330 0 12:03 ? 00:00:00 nginx: worker process www-data 11334 11330 0 12:03 ? 00:00:00 nginx: worker process root 11465 1168 0 12:14 ? 00:00:00 sshd: root@notty root 11481 11465 0 12:14 ? 00:00:00 /usr/lib/openssh/sftp-server root 11519 10080 0 12:23 pts/0 00:00:00 ps -ef root@developer2:/# kill 3535 root@developer2:/# service php5-fpm start php5-fpm start/running, process 11529 root@developer2:/# service php5-fpm stop php5-fpm stop/waiting root@developer2:/# service php5-fpm start php5-fpm start/running, process 11544 root@developer2:/# service php5-fpm stop php5-fpm stop/waiting root@developer2:/# service php5-fpm start php5-fpm start/running, process 11559 root@developer2:/# service php5-fpm reload root@developer2:/# service php5-fpm reload reload: Unknown instance: 

Изменить 2: мой php5, кажется, создает 3 процесса

 root 11813 1 1 12:34 ? 00:00:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) www-data 11815 11813 0 12:34 ? 00:00:00 php-fpm: pool www www-data 11816 11813 0 12:34 ? 00:00:00 php-fpm: pool www 

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

Related of "Ubuntu php5-fpm выдает неизвестный экземпляр при перезагрузке"

Это ошибка Ubuntu. В файле /etc/init/php5-fpm.conf имеется зарегистрированный reload signal USR2 линии reload signal USR2 , который заставляет функцию перезагрузки завершить мастер-процесс php5-fpm, отправив SIGHUP. Любые дальнейшие перезагрузки, перезагрузки или остановки будут терпеть неудачу, потому что мастер-процесс был прерван.

Я исправил это в Ubuntu 14.04, создав файл /etc/init/php5-fpm.override с reload signal USR2 одной строки reload signal USR2 . Кредиты на комментарий Юрия Слюймана в этом ответе .

Вот основной отчет об ошибках , предлагаемые обходные пути и подтверждение обходного пути .

 $ ps aux | grep php USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1966 0.0 0.9 473276 37040 ? Ss 10:03 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) www-data 2009 0.0 1.5 478280 62500 ? S 10:03 0:01 php-fpm: pool www www-data 2011 0.0 1.3 476504 55220 ? S 10:03 0:00 php-fpm: pool www www-data 2012 0.0 1.6 481592 65840 ? S 10:03 0:00 php-fpm: pool www $ sudo service php5-fpm status php5-fpm start/running, process 1966 $ sudo service php5-fpm stop php5-fpm stop/waiting $ sudo service php5-fpm status php5-fpm stop/waiting $ sudo service php5-fpm start php5-fpm start/running, process 2651 $ sudo service php5-fpm status php5-fpm start/running, process 2651 $ ps aux | grep php USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2651 0.2 0.9 473276 36996 ? Ss 10:35 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) www-data 2654 0.0 0.1 473276 7104 ? S 10:35 0:00 php-fpm: pool www www-data 2655 0.0 0.1 473276 7104 ? S 10:35 0:00 php-fpm: pool www www-data 2656 0.0 0.1 473276 7104 ? S 10:35 0:00 php-fpm: pool www 

Обычно команда service будет работать нормально:

 service php5-fpm restart 

Но если появляется проблема с «неизвестным экземпляром», вы можете просто убить процессы и перезапустить службу, используя эту строку:

 sudo pkill php5-fpm; sudo service php5-fpm start 

Попытайтесь остановить экземпляр service php5-fpm stop снова. Подождите несколько секунд. Попробуйте увидеть, какие процессы не были ps -ef с помощью ps -ef . Завершите их, kill <processId> . Запустите php5-fpm снова. Кажется, не все дочерние процессы были успешно завершены командой service ... У меня схожие проблемы на сервере, но они не являются регулярными

Я испытал ту же проблему, что и Envoyer для Laravel, и это было очень неприятно. Мое решение состояло в том, чтобы следовать варианту 3) на странице https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1242376/comments/16

Создайте файл /etc/init/php5-fpm.override с помощью одной строки «перезагрузить сигнал USR2».

Похоже, команда service иногда терпит неудачу. Я не знаю о причине, однако в конечном итоге я использовал этот обходной путь в /etc/logrotate.d/php5-fpm :

 /var/log/php5-fpm.log { ... postrotate # The original reload command did never work #invoke-rc.d php5-fpm reopen-logs > /dev/null # Workaround for cases when the reload command fails for some reason service php5-fpm reload > /dev/null 2>&1 [ $? = 0 ] || ( service php5-fpm stop; pkill php5-fpm; service php5-fpm start ) > /dev/null endscript } 

Вариант, который работал для меня, состоял в том, чтобы сбросить opcache. Создайте файл файла opcache-reset.php в корне вашего сайта и добавьте:

 <?php opcache_reset(); ?> 

После перезапуска opcache вы можете удалить файл или перенести его из корневого сайта.

Развертывание с Посланником привело меня сюда. Я завершил добавление «до» развертывания в действие Activate New Release с помощью процесса pkill php5-fpm

Если ни один из вышеперечисленных ответов не решает проблему, проверьте свою конфигурацию, чтобы увидеть свои ошибки:

 $ php5-fpm -t 

В большинстве случаев вы, вероятно, /etc/php5/fpm/php-fpm.conf в своем /etc/php5/fpm/php-fpm.conf или /etc/php5/fpm/pool.d/www.conf

Для меня это оказалось ошибкой в ​​файле конфигурации пула (загружаемом из каталога pool.d)

Попробуйте запустить php-fpm7.0 -t для запуска configtest (имя исполняемого файла может отличаться в зависимости от вашей установки и имени службы)