Назад | Перейти на главную страницу

как автоматически порождать php-cgi при выходе?

Я использую php-cgi в ubuntu (с nginx), и команда для его запуска:

spawn-fcgi -a 127.0.0.1 -p 9100 -f / usr / bin / php-cgi -P /var/run/fastcgi-php.pid

но иногда процесс php-cgi завершается автоматически, и мне нужно запускать его вручную. Есть ли способ заставить его автоматически перезапускаться, например, написать сценарий инициализации?

Пожалуйста, предложите, спасибо.

Вам действительно стоит использовать PHP-FPM вместо spawn-fcgi. Это менеджер процессов fastcgi, который был написан для решения многих проблем с php-cgi (и, следовательно, с spawn-fcgi по отношению).

Поскольку срок службы PHP версии 5.2.x подошел к концу, вы также должны использовать PHP 5.3.x, что означает, что у вас, скорее всего, уже есть php-fpm, и нужно просто убедиться, что ваш диспетчер пакетов установил эту версию (см. он называется php-fpm или аналогичный). Если вы устанавливаете из исходного кода, это просто флаг времени компиляции, чтобы включить его. (--with-fpm)

Если у вас 5.2.x и вы слишком корпоративны, чтобы ваш начальник мог позволить вам обновиться, вам придется контролировать это с помощью чего-то вроде Руководитель или Монит

Сейчас я использую выскочку (initctl).

http://manpages.ubuntu.com/manpages/lucid/man8/initctl.8.html

Я использую CentOS 6, но думаю, что для Ubuntu процесс аналогичен. Для CentOS создайте файл /etc/init/php-cgi.conf, содержащий:

# Upstart event
# nginx_start - start nginx web server / proxy
#

start on runlevel 3
stop on runlevel [016]
console output

exec /usr/bin/php-cgi -b 127.0.0.1:9001

respawn

respawn limit 10 90

Затем вы можете управлять им с помощью initctl:

initctl start php-cgi
initctl status php-cgi
initctl stop php-cgi