NIMPix. Повышаем стабильность php-cgi на Windows.
Ни для кого уже не секрет, что самое нестабильное место в связке nginx+php-cgi+mysql под windows это php-cgi. Нередки беспричинные падения, зависания и прочие гадости.
Сегодня я расскажу, как избавится от всех этих неприятностей одним махом поставить linux. И в этом нам поможет spawn-php. Суть его действия проста, все php-cgi процессы запускаются через spawn-php и в случае падения одного из процессов он автоматически перезапускается его.
Понадобится:
Python 2.6.x
pywin32 py2.6
spawn-php
1. Устанавливаем python если у вас не стоит и pywin32.
2. Из скачанного архива spawn-php берем spawn-php.py и ложем в папку с php
ваш_диск:\nimpix\component\php\
3. Мой компьютер - свойства - дополнительно - переменные среды
в Системные переменные в переменную Path дописываем
;ваш_диск:\nimpix\component\php\
4. Открываем консоль и проверяем
php-cgi -v
должен вывести версию php
5. В конфиге nginx ваш_диск:\nimpix\component\nginx\conf\nginx.conf
находим
upstream backend {
server 127.0.0.1:9000;
server 127.0.0.1:9001;
}
и приводим к такому виду
upstream backend {
server 127.0.0.1:9000;
server 127.0.0.1:9001;
server 127.0.0.1:9002;
server 127.0.0.1:9003;
server 127.0.0.1:9004;
server 127.0.0.1:9005;
server 127.0.0.1:9006;
server 127.0.0.1:9007;
server 127.0.0.1:9008;
server 127.0.0.1:9009;
}
6. Пробуем запускать spawn-php, заходим в папку ваш_диск:\nimpix\component\php\
клацаем по spawn-php.py и запускаем его.
7. Должно открыться консольное окно с надписями
spawning php on port 9000 … success! pid: …
spawning php on port 9001 … success! pid: …
………………………………………..
остановить можно нажатием Ctrl-C.
8. Заходим в NimpCp и запускаем все сервисы, при запуске ругнется, что PHP-CGI уже запущен и это действительно так )
9. Пробуем свалить сервер.
