Фотогалереи

Услуги

Помощь при использовании сайта

PHP

PHP при работе в CMS Drupal, Joomla!, Wordpress. Настройка PHP-FPM на сервере это не так уж и сложно.

PHP-FPM в Arch Linux

Людей держащих веб-сервера на Arch Linux можно найти только в особых заповедниках, потому что дистрибутив явно не для размещения продакшн серверов. Поэтому найти какую либо информацию о настройке и использовании нестандартного софта конкретно для Arch Linux очень трудно. Например собрать php с патчем fpm мне так и не удалось. В AUR пакет отмечен устаревшим и мантейнер обновлял его последний раз год назад. Самому собрать тоже не удалось. Для чего нужен PHP-FPM я не буду объяснять и если вы это читаете то знаете зачем пришли. В процессе поисков я нашел человека ( вернее его сайт) с готовым PKGBUILD'ом PHP-FPM для Арчевского PHP-5.3.2.



Настройка spawn-fcgi в Arch Linux

В недавнем прошлом столкнулся с проблемой - раз или два в день на сервере отваливалась обработка скриптов бекендом (php-cgi). Уловить закономерность мне так и не удалось. Выливалось это все в ошибку 502 Bad Gateway о которой скромненько так сообщал nginx. Но сам nginx тут ни при чем, он просто сообщает клиенту о том что бэкенд в данном случае php запущенный как FastCGI сервер не смог обработать скрипт и вернуть должный ответ фронтенду. Перепробовал много чего. И переход на unix socket и смена версий php, но это в конечно итоге ничего не дало. Самое плохое то что сам демон php-cgi вообще умирал, и единственный вариант возобновить работу это рестартануть его. Spawn-fcgi это такая "обертка" к php-cgi дающая некоторые возможности. Например имеющийся в ArchWiki скрипт запуска fcgi сервера запускался от рута и соответственно php у нас работал от суперпользователя, что не есть хорошо. К тому же всего один чайлд php (child) это мало и при большой нагрузке похапе падал. Например при натравливании бенчмарка httperf на мой блог с количеством 300 подключений и запросами каждые 10 секунд похапе валилось через 5 секунд. Параметры запуска httperf были такие:



Зависание FastCGI при публикации в Wordpress

Возникла тут такая проблема, довольно таки неприятная. Заключается она в том, что при публикации в Wordpress - FastCGI напрочь отваливался без признаков жизни выдавая 504 Gateway Time-out. Запись в блог добавлялась, но при нажатии "Просмотреть запись" происходила вышеописанная неприятность. Я конечно не так часто пишу в блог, но всеже доставало это и никакими методами кроме перезапуска php-cgi это не решалось. Странность была в том что при публикации страницы все было нормально, а когда добавлялась именно запись в какую либо категорию - висяк.



Замена Apache. Nginx и FastCGI

Совсем недавно я писал о том как заставить работать связку Apache+Nginx.  Там все немного проще из-за того что backend'ом выступал многим знакомый Apache с его mod_php .htaccess и прочими радостями. Принципиально не хочу сравнивать Apache и Nginx, так как у каждого на этот счет свои соображения. И разжигать холивар я не хочу. Моя цель максимально доступно описать установку и настройку сабжа. Итак, что нам понадобится для того чтобы полностью выкинуть индейца? (О том как поставить и более менее настроить сам nginx я писал тут) Устанавливаем нужные пакеты: