Итак, недавно мне довелось познакомиться с node.js. Хочу рассмотреть как можно установить и запустить node.js на Debian в фоновом режиме.
Я приобрел недорогой VDS (Virtual Dedicated Server) и без проблем установил на него node.js, без лишней «воды» сразу приступаем к делу.
Подключаемся к своему серверу, я делал все через клиент putty:
Устанавливаем node.js
apt-get install python g++ make cd /usr/src mkdir node_js cd $_ wget http://nodejs.org/dist/node-latest.tar.gz tar -xf node-latest.tar.gz cd node-v* ./configure --prefix=/opt/nodejs make make install
После установки создаем тестовый файл нашего сервера (server.js):
var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Node.js its work'); }).listen(8888); console.log('Server running');
Внимание: для примера, я расположил файл server.js в папке с самим node.js (/opt/nodejs/bin/server.js).
Запуск сервера:
/opt/nodejs/bin/node server.js
Ошибиться тут очень тяжело, поэтому у Вас все должно сработать. Проверить сервер можно зайдя по адресу к примеру ваш_айпи: порт
Например: 127.0.0.1:8888
Однако теперь, если мы закроем консоль наш сервер перестанет работать. Чтобы этого не было, необходимо запустить его в фоновом режиме (режиме sid).
Я видел много споров и вариантов решения данной проблемы, но сам себя могу отнести к новичкам в использовании unix систем, поэтому я просто прочитал споры на эту тему и выбрал для себя более-менее подходящий вариант:
Запуск сервера node.js в фоновом режиме:
nohup /opt/nodejs/bin/node /opt/nodejs/bin/server.js > /dev/null 2>&1 &
В ответ получим номер (например 5817) нашей команды. Все проверяем сервер, он запущен в фоновом режиме
Подробнее про nohup:
Утилита эта принадлежит пакету coreutils, а задача её сводится к тому, чтобы запустить какую-то программу независимо от шелла, перенаправив стандартный ввод на /dev/null, а стандартный вывод — в nohup.out. Эта утилита нам поможет держать процесс node.js в фоновом режиме (напоминает службу в windows).
Проверим, что у нас есть по node.js
ps aux | grep node
Там можно будет увидеть все нужные нам запущенные программы, у каждой есть свой номер
Удалить программу сервера node.js
kill 5817
Внимание: данный способ писался под ОС Debian, под другие *nix системы принцип будет тот же, а вот команды скорее всего другие!
ссылка на оригинал статьи http://habrahabr.ru/post/215465/
Добавить комментарий