Как перезапустить php-fpm?

Мне нужно перезагрузить мой php.ini, и в диалоговом окне справки нет ничего о перезапуске.

149 голосов | спросил Galen 12 +04002010-10-12T05:58:12+04:00312010bEurope/MoscowTue, 12 Oct 2010 05:58:12 +0400 2010, 05:58:12

15 ответов


276

Примечание : prepend sudo, если не root

  • Сценарии SysV Init напрямую:

    /etc/init.d/php-fpm restart # типичный
    /etc/init.d/php5-fpm restart # debian-style
    /etc/init.d/php7.0-fpm restart # debian-style PHP 7
    
  • Использование сценария оболочки службы

    сервис php-fpm restart # типичный
    service php5-fpm restart # debian-style
    service php7.0-fpm restart # debian-style PHP 7
    
  • Использование Upstart (например, ubuntu):

    restart php7.0-fpm # типичный (ubuntu является debian-based) PHP 7
    перезапустить php5-fpm # типичный (ubuntu является debian-based)
    перезапуск php-fpm # необычный
    
  • Использование systemd (более новые серверы):

    systemctl restart php-fpm.service # типичный
    Системный перезапуск php5-fpm.service # необычный
    systemctl restart php7.0-fpm.service # Необычный PHP 7
    

Или любой эквивалент в вашей системе.

ответил tylerl 12 +04002010-10-12T07:37:32+04:00312010bEurope/MoscowTue, 12 Oct 2010 07:37:32 +0400 2010, 07:37:32
29

Для Mac OS X это то, что я делаю:

Сделайте сценарий /usr /local /etc /php /fpm-restart:

#! /Bin /ш

echo «Остановка php-fpm ...»
launchctll unload -w ~ /Library /LaunchAgents /homebrew-php * .plist

echo "Запуск php-fpm ..."
startctl load -w ~ /Library /LaunchAgents /homebrew-php * .plist

echo "php-fpm restarted"
выход 0

Тогда:

chmod ug + x /usr /local /etc /php /fpm-restart
cd /usr /local /sbin
ln -s /usr /local /etc /php /fpm-restart

убедитесь, что /usr /local /sbin находится в $ PATH

, то просто вызовите его с терминала fpm-restart и BOOM !!

ответил Diego Antunes 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 23 Sep 2013 08:55:13 +0400 2013, 08:55:13
21

Обычно, service php5-fpm restart будет работать нормально, в актуальном дистрибутиве.

Но иногда он терпит неудачу, сообщая вам о перезагрузке : Неизвестный экземпляр: (или такой).

Теперь, если вам не нравится перезагружать ваш сервер, просто запустите процессы и начните новый (отредактированный здесь):

$ sudo pkill php5-fpm; sudo service php5-fpm start
ответил BurninLeo 8 PM00000030000004731 2014, 15:55:47
11

Это должно работать:

pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
ответил dialt0ne 1 FebruaryEurope/MoscowbTue, 01 Feb 2011 23:08:49 +0300000000pmTue, 01 Feb 2011 23:08:49 +030011 2011, 23:08:49
11

Для Mac OSX для меня работала перезагрузка службы поддержки php56.

ответил Blake Frederick 31 ThuEurope/Moscow2015-12-31T00:25:27+03:00Europe/Moscow12bEurope/MoscowThu, 31 Dec 2015 00:25:27 +0300 2015, 00:25:27
5

php-fpm перезапустится, если вы отправляете сигнал USR2 в основной процесс:

sudo kill -USR2 php-fpm_main_process_id

Поэтому нам просто нужно указать php-fpm для записи своего pid где-нибудь. В этом примере я предположим, что вы хотите сохранить его в /etc/private/php-fpm.pid, а php-fpm работает как пользователь _php. Сначала добавьте эту строку в файл конфигурации:

pid = /etc/php-fpm.pid

Затем создайте файл /etc/php-fpm.pid и убедитесь, что у php-fpm есть разрешение на его изменение:

$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php -fpm.pid

Теперь, в следующий раз, когда начнется php-fpm, вы сможете получить его pid и перезапустить его следующим образом:

$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815

Или вы можете объединить их в одну команду:

$ sudo kill -USR2 `cat /etc /private /php-fpm.pid`
ответил Pitarou 12 MaramWed, 12 Mar 2014 11:01:35 +04002014-03-12T11:01:35+04:0011 2014, 11:01:35
5

У меня возникла проблема с перезапуском php7-fpm, потому что я не знал, как именно была названа услуга. Эта функция дала мне ответ:

service --status-all

Служба php7-fpm в моем Ubuntu была вызвана php7.0-fpm, поэтому я сделал:

служба php7.0-fpm restart

ответил Lucas 26 MaramSun, 26 Mar 2017 11:57:31 +03002017-03-26T11:57:31+03:0011 2017, 11:57:31
3

Для меня я только что обновил apt, и перезапуск службы не работал. Мне пришлось убить существующие процессы до того, как они сработали, используя: killall php5-fpm

ответил Pooch 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 25 Sep 2013 23:24:40 +0400 2013, 23:24:40
2

Чтобы разрешить скрипт перезапуска PHP-FPM работать, вы должны указать PID-файл в файле php-fpm.conf. то есть.

pid = /var/run/php-fpm/php-fpm.pid

Значение по умолчанию для pid в php-fpm.conf ничего не значит, что означает не создавать PID-файл, а это означает, что сценарий перезапуска не может определить, какой процесс завершится во время перезапуска.

ответил Danack 11 Maypm13 2013, 19:03:14
2

В CentOS 7

sudo systemctl enable php-fpm //Просто отключено. Кроме того, он автоматически запускается с сервера

sudo systemctl start php-fpm //Запуск службы

sudo systemctl stop php-fpm //Остановить службу

sudo systemctl status php-fpm //Просмотр статуса
ответил Fokwa Best 28 J0000006Europe/Moscow 2016, 13:44:48
2

На Ubuntu 16 с php 5.6 fpm.

/etc/init.d/php5.6-fpm restart
ответил MrPHP 11 +03002016-10-11T12:20:59+03:00312016bEurope/MoscowTue, 11 Oct 2016 12:20:59 +0300 2016, 12:20:59
1

В RedHat /CentOS 7 с помощью PHP 7 из softwarecollections.org

сервис rh-php70-php-fpm start
сервис rh-php70-php-fpm stop
перезагрузка службы rh-php70-php-fpm
перезагрузка службы rh-php70-php-fpm
статус службы rh-php70-php-fpm

или если вы используете systemctl:

systemctl start rh-php70-php-fpm
systemctl stop rh-php70-php-fpm
systemctl reload rh-php70-php-fpm
systemctl restart rh-php70-php-fpm
Статус systemctl rh-php70-php-fpm
ответил Jeremy Tarpley 3 J0000006Europe/Moscow 2017, 19:17:27
0

В Windows:

  1. Открыть службы в консоли управления:

    Пуск -> Run -> "services.msc" -> ОК
    
  2. Выберите php-fpm из списка

  3. Rightclick и выберите перезапуск.
ответил Gerald Schneider 9 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 09 Sep 2015 09:46:39 +0300 2015, 09:46:39
0

Для старых версий debian & ubuntu - php 5.6 будет

/etc/init.d/php-fpm56 перезагрузка
 перезагрузка службы php-fpm56
ответил Nicolas Guérinet 9 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 09 Sep 2015 09:01:56 +0300 2015, 09:01:56
0

В Alpine с nginx это работает здесь:

Чтобы убить все процессы php-fpm7:

kill $ (ps -o pid, comm | grep php-fpm7 | awk '{print $ 1}')

Чтобы запустить php-fpm7:

PHP-fpm7

ответил Junior M 16 Maypm17 2017, 23:08:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132