LINUX.ORG.RU

Сообщения UndeadJoe

 

Демонизация nodejs сервера

Форум — Web-development

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

Тема актуальна для продакш приложения, а не для запуска у себя локально на отладку. Большинство серверов у меня на Ubuntu, есть несколько на CentOS.

Сначала для демонизации я использовал forever. Но потом уперся в сложность запуска скриптов не из-под root (или вообще не возможность, уже не помню). Плюс сам скрипт запуска не очень простой (когда у тебя пара десятков разных приложений то это актуально).

Затем начал всё переписывать на upstart. Он в целом мне нравится, скрипты запускаются под нужным юзером, логи пишутся куда надо, версия node выбирается через nvm под каждого юзера (один юзер - один скрипт). Нет конечно команды restart, но это мелочи.

Недавно несколько новых серверов обновил до Ubuntu 16 и там мой любимый upstart перестал работать (танцевать с бубном не хочу). Пришлось переписать скрипты на Systemd. Конфиг демона очень простой и понятный. Только сразу столкнулся с несколькими проблемами:
1) версию node надо указывать руками (типа «/opt/nvm/versions/node/v6.2.0/bin/node» вместо просто «node»). При обновлении версии все скрипты придется править. Текущую версию от nvm он не видит (или я криворук).
2) Все логи пишутся в один файл (syslog). Мои сервера генерируют много отладочной инфы в логах (плюс много запросов), поэтому syslog очень быстро растолстеет. Вполне нормальное явление что один сервер генерит логов на 50-100 Мб в день (каждый день сжимаются logrotate). А если их 10 запущено то уже до гига в день. Как это будет жить в одном файле пока не знаю, но мне кажется это не лучшим образом скажется на скорости записи логов.

Поэтому вопрос:
В какую сторону идти, какому запускателю довериться чтобы не было проблем с будущем?

 , , ,

UndeadJoe
()

RSS подписка на новые темы