Итак, поступил заказ на "допиливание" проекта, или же вы купили новый девайс, на котором планируете вести разработку любимого Web-приложения параллельно с основным или надо быстро поднять окружение для разработки на Node.js с уже имеющимся кодом или... Или 1000 и одна причина по которой может резко понадобиться разворачивание проекта на машине. Речь, как можно догадаться из заголовка, пойдет о таких вещах: Nodejs, Git, Ssh. Начнем-с.
В первую очередь оговорюсь, все проделывалось в Debian/Ubuntu системе, хотя немного изменив курс туториала, это применимо и к другим дистрибутивам и даже к Windows :)
Удачи, надеюсь пост окажет непосильную помощь, в освоении node.js
В первую очередь оговорюсь, все проделывалось в Debian/Ubuntu системе, хотя немного изменив курс туториала, это применимо и к другим дистрибутивам и даже к Windows :)
- Ставим Git если его еще нет в системе (для Винды это вообще очен мажно с ним в придачу можно поставить чудо-юдо MingGW)
$ sudo apt-get install git
- На всякий случай обновляем репы
$ sudo apt-get update
- Вот эта штука очень полезная, я про python-software-properties. Она содержит в себе утилиту add-apt-repository и что самое грустое что если у вас сервер Ubuntu то скорее всего у вас ее нет, если десктоп, то можно и не ставить.
$ sudo apt-get install python-software-properties python g++ make # Ставим зависимости $ sudo add-apt-repository ppa:chris-lea/node.js # Добавляем репозиторий node.js $ sudo apt-get update # Обновляем репы $ sudo apt-get install nodejs # Ставим node.js последней версии
- Далее переходим в директорию в которой будем разворачивать проект
$ cd /var/www # Эта директория указана для примера и может быть любой другой.
- Далее надо сгенерировать SSH ключ
$ ssh-keygen -t rsa
Если вы не указывали никакого другого пути для сохранения ключа то вы его можете найти в
$ ~/.ssh/id_rsa.pub
- Копируем его содержимое и добавляем в сервис (или в ~/.ssh/authorized_key на сервере от куда мы будем тянуть код проекта) например это может быть Github, Bitbaсket, Heroku и др. У меня это Heroku
- Переходим в папку для проекта у меня это /var/www и клонируем проект
$ cd /var/www $ git clone git@heroku.com:yourproject.git ./
- После чего не забываем установить сопутствующие модули, не думаю что у вас их не будет
$ npm install
- И если вы хотите "повешать" процесс на "прослушку" 80-го порта, то не забудте это сделать от рута, т.к. мы же все помним что порты ниже 1024 требуют прав рута.
$ sudo NODE_ENV=staging PORT=80 node app.js
А еще нам может понадобиться запустить ноду в фоне, аля процесс-демон. Сразу скажу тут не будет ничего про демоны, а будет про интересный модуль supervisor и "финт" ушами.
Итак для того чтобы запустить ноду в фоне надо выполнить следующую команду. Предварительно создайте директорию для логирования вывода процесса, ну, например, /home/macho/logs/ или /var/logs/yourproject
$ sudo npm install supervisor -g # Устанавливаем глобально модуль supervisor $ sudo NODE_ENV=staging PORT=80 supervisor app.js > /var/logs/yourproject &Собственно команда выше запустит ноду в фоне и вы можете насладится результатами работы вашего приложения на 80-м порту.
Удачи, надеюсь пост окажет непосильную помощь, в освоении node.js
Спасибо за статью, особенно за supervisor ;)
ОтветитьУдалитьВсегда пожалуйста.
Удалить