Установка и запуск node.js на VDS (Debian) в фоновом режиме (sid)

от автора

image


Итак, недавно мне довелось познакомиться с 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *