Фальстарт

Установка и администрирование

  1. Установка
  2. Настройка web-сервера
  3. Аргументы командной строки
  4. Скрипты запуска и остановки
  5. Ротация логов

Установка

Установка выполняется стандартно, как для большинства программ из исходных кодов под Unix. Домашняя директория по умолчанию — /usr/local/puskach.

  1. [puskach-x.x.x]$ ./configure
  2. [puskach-x.x.x]$ make
  3. [puskach-x.x.x]$ make install

Настройка web-сервера

Пускач для web-сервера является одним FastCGI-приложением, которое обрабатывает все запросы. Для идентификации приложения, которому реально адресован запрос, сервер должен в каждом запросе передавать FastCGI-параметр SCRIPT_FILENAME. Пускач, как FastCGI-приложение, обладает следующими свойствами (определены в спецификации FastCGI):

Как правило, никакой особенно специфической настройки web-сервера для работы с Пускачом не требуется, так протестирована его работа с Nginx и Lighttpd при стандартных настройках FastCGI-интерфейса.

Аргументы командной строки

Параметры, специфичные для каждого FastCGI-приложения, Пускач получает из конфигуарционного файла, а общие настройки управления процессом через аргументы командной строки. Поддерживаются следующие аргументы (обязательные выделены жирным):

В процессе работы Пускач генерирует диагностические и отладочные сообщения разного уровня значимости. Установка уровня логгинга - это ограничение сверху на минимальную значимость сообщений, которые должны попадать в лог-файл. Менее значимые сообщения игнорируются. При каждом следующем уровне выводится информация всех предыдущих плюс следующая дополнительная информация:

Оптимальным для повседневной эксплуатации является уровень DEBUG, либо INFO, «глушить» сообщения не рекомендуется. В настройке других необязательных параметров, как правило, нет необходимости.

Скрипты запуска и остановки

Все работающие FastCGI-приложения выполняются с правами того же пользователя, что и рабочий процесс Пускача. Поэтому крайне желательно запускать Пускач под непривилегированным пользователем. Такую проверку следует предусмотреть в стартовом скрипте. Также стартовый скрипт может устанавливать переменные окружения, которые будут наследоваться FastCGI-приложениями. Приведем пример скриптов для пользователя site_user со следующей структурой каталогов в домашней директории:

  1. [site_user@ /usr/home/site_user]$ ls -R
  2. ./etc:
  3. changelog.sh startpuskach.sh puskach.conf stoppuskach.sh
  4. ./logs:
  5. puskach.log
  6. ./lib:

Стартовый скрипт startpuskach.sh будет иметь вид:

  1. #!/bin/sh
  2. curuser='site_user'
  3. echo "#### Запускаем Пускач для $curuser #####"
  4. if !(echo "$USER" | grep -x -q "$curuser"); then
  5. echo "## Пробуем сменить пользователя ##"
  6. su - $curuser \
  7. -c "/usr/home/$curuser/etc/startpuskach.sh; exit 0"
  8. exit 0
  9. else
  10. echo "## Пускач запускает владелец... ##"
  11. fi
  12. PUSKACH_PID_FILE="/tmp/puskach/puskach_$curuser.pid"
  13. if [ -e "$PUSKACH_PID_FILE" ]; then
  14. kill -s QUIT `cat "$PUSKACH_PID_FILE"`
  15. echo "### Перезапускаем пускач ###"
  16. fi
  17. export PERL5LIB=$PERL5LIB:/usr/home/$curuser/lib;
  18. /usr/local/puskach/bin/puskach \
  19. -srv-addr "/tmp/puskach/puskach_$curuser.sock" \
  20. -pid-file "/tmp/puskach/puskach_$curuser.pid" \
  21. -conf-path "/usr/home/$curuser/etc/puskach.conf" \
  22. -log-path "/usr/home/$curuser/logs/puskach.log" \
  23. -log-level 20

Соотвественно скрипт остановки Пускача stoppuskach.sh:

  1. #!/bin/sh
  2. curuser='site_user'
  3. PUSKACH_PID_FILE="/tmp/puskach/puskach_$curuser.pid"
  4. if [ -e "$PUSKACH_PID_FILE" ]; then
  5. kill -s QUIT `cat "$PUSKACH_PID_FILE"`
  6. echo "### Останавливаем пускач... ###"
  7. else
  8. echo "### Пускач не был запущен! ###"
  9. fi

Ротация логов

Для обеспечения ротации логов нужно переименовать текущий лог-файл, после чего отправить рабочему процессу Пускача сигнал SIGUSR1. Пускач переоткроет файловый дескриптор и создаст пустой лог-файл с тем же именем.