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

Вероятно, вы используете ссылку http:// на таблицу стилей на веб-сайте https://.

Защищенным веб-сайтам запрещено смешивать протоколы. Все должны быть встроены с защищенного сервера. Браузеры будут игнорировать / блокировать ресурсы HTTP на HTTPS-страницах (с различной степенью строгости).

Причиной этой блокировки является то, что ненадежные HTTP-ресурсы, такие как таблицы стилей и скрипты, все еще могут быть изменены злоумышленником и использованы для подмены / hijack secure parts of site.

Если таблица стилей подается с вашего сервера, опустите протокол + хост-часть URL-адреса, то есть вместо http://example.com/style.css используйте /style.css в качестве URL-адреса, поэтому Я буду работать как с HTTP, так и с HTTPS. Вы также можете использовать URL-адреса, относящиеся к протоколу .

Если у вас должен быть один полный URL-адрес, используйте только URL https://….

29
задан Iulian 15 November 2013 в 10:43
поделиться

9 ответов

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

Я исправил это в Ubuntu 14.04, создав файл /etc/init/php5-fpm.override с одной строкой 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
42
ответ дан keithm 15 November 2013 в 10:43
поделиться

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

10
ответ дан Mihail 15 November 2013 в 10:43
поделиться

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

service php5-fpm restart

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

sudo pkill php5-fpm; sudo service php5-fpm start
32
ответ дан BurninLeo 15 November 2013 в 10:43
поделиться

Развертывание с Envoyer привело меня сюда. В итоге я добавил хук развертывания «до» в действие «Активировать новый выпуск» с помощью процесса pkill php5-fpm

2
ответ дан Graham T 15 November 2013 в 10:43
поделиться

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

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

5
ответ дан Barnabas Kecskes 15 November 2013 в 10:43
поделиться

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

<?php opcache_reset(); ?>

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

1
ответ дан Kevin 15 November 2013 в 10:43
поделиться

Похоже, что команда 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
}
1
ответ дан stucki 15 November 2013 в 10:43
поделиться

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

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

0
ответ дан Bery 15 November 2013 в 10:43
поделиться

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

$ php5-fpm -t

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

0
ответ дан Paulo Coghi 15 November 2013 в 10:43
поделиться
Другие вопросы по тегам:

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