Страницы

суббота, 6 июля 2013 г.

Node.js + Redis. Пишем шустрое веб-приложение. Вступление.

В процессе изложения предлагаю приготовить виджет погоды. Для приготовления нам понадобятся следующие ингредиенты: Node.js, Redis, а также модули: express, mustache, node_redis, node-request. Во вступительной части рассмотрим установку необходимых компонентов в MS Windows и Linux (на примере Ubuntu).



Начнем с прелюдии - установим Node.js.

В Windows качаем бинарник Node.js и выполняем.
В Linux:
- открываем терминал - Ctrl+Alt+T
- устанавливаем Node.js и npm: sudo apt-get install nodejs npm


- проверим установку: nodejs --version

Не самая свежая версия (издержки установки из репозитория), зато автоматическое обновление.

В Windows версия посвежее.

Следующий этап -  установка Redis.

В Windows:
- качаем архив, распаковываем
- переходим в каталог msvs, открываем решение RedisServer.sln в Visual Studio, билдим

- копируем бинарники из каталога debug в каталог Redis

Или сразу качаем архив компилированных мною бинарников.

Проверим версию Redis.

Запустим redis-server.

Проверим работу сервера.

Закрываем консоль сервера.

В Linux:
- устанавливаем Redis: sudo apt-get install redis-server



Проверим версию Redis.

И снова в Windows версия посвежее, но 32-битная.

Запустим redis-server.

Проверим работу сервера.

Переходим к установке модулей.

Создаем каталог проектов Node.js. Я назвал его _node.
Создаем каталог приложения. Я назвал его weather.

Открываем блокнот, создаем файл package.json.
{
  "name": "openweathermap-api-widget",
  "version": "0.0.1",
  "dependencies": {
    "express": "3.3.1",
    "redis": "*", 
 "request": "2.21.0",
 "mustache": "0.7.2"
  },
  "main": "app.js"
}

В терминале выполняем npm install.

В Windows все пролетает как надо.

А вот в Linux - проблема.

Убедимся в валидности JSON.

Похоже придется установить версию Node.js посвежее:
sudo apt-get update
sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs



Повторяем npm install.

Bingo!
На этом вступительная часть завершена.

Осталось написать код, но это уже совсем другая история...