18 фев


Для работы модуля DLE NodeChat необходим наличие на сервере NodeJS, для запуска которого предоставляю простой, но крайне необходимый скрипт.

NodeJS периодически любит падать, и не умеет совсем автоматически запускаться как демон. Предлагаю вариант решения этой проблемы.
Давайте сделаем так что бы модуль DLE NodeChat нормально запускался и в случае сбоев сам автоматически поднимался.
Казалось бы задача невероятно сложная... А вот и нет! Всё предельно просто благодаря такому чудесному модулю nodejs как forever!

Инструкция по установке и настройке

1. Установим модуль forever глобально:
npm -g install forever


2. В папке чата создаём папку
log


3. Создаём скрипт запуска:
mcedit /etc/init.d/nodechat

Содержимое:
#!/bin/sh
#
# DLE NodeChat
# MSW
# http://0-web.ru/
#

name="nodechat"
forever="/usr/local/bin/node /usr/local/bin/forever"
script_dir="/var/www/site.com/dle_nodechat"
script_file="server.js"

ulimit -n 200000

start()
{
  USER=root
  PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
  PWD=/root
  HOME=/root
  NODE_ENV=production
  ${forever} start -a -l ${script_dir}/log/forever.log -o /dev/null -e ${script_dir}/log/chat.log ${script_dir}/${script_file}
}

stop()
{
  ${forever} stop ${script_dir}/${script_file}
}

restart()
{
  ${forever} restart ${script_dir}/${script_file}
}

case "$1" in
    start)
        start
  ;;
    stop)
        stop
  ;;
    restart)
        restart
  ;;
    *)
        echo "Usage: service nodechat {start|stop|restart}" >&2
        exit 3
  ;;
esac

Внимание! вместо:
/var/www/site.com/dle_nodechat

необходимо вписать правильный путь к папке чата!

4. Делаем скрипт исполняемым:
chmod +x /etc/init.d/nodechat


5. Команды управления чатом:
Запуск:
/etc/init.d/nodechat start


Остановка:
/etc/init.d/nodechat stop


Перезапуск:
/etc/init.d/nodechat restart



Вот и всё, предельно просто мы создали неубиваемый процесс чата :)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.