Как стать автором
Обновить

Введение в Nitrode — выделенный HTTP-сервер

Время на прочтение2 мин
Количество просмотров1.1K
Автор оригинала: Oliver Morgan
Рад представить вам описание Nitrode.

Проблема:

Node.Js не включает в себя модуль FastCGI или аналогичные модули для интеграции приложений, в отличие от других HTTP-серверов, например, nginx.

Решение

Nitrode призван устранить этот пробел, предоставляя быстрый и универсальный HTTP-сервер, построенный на основе Node.JS. Он рассчитан на поддержку большинства основных возможностей nginx, но обладает дополнительным преимуществом, так как Nitrode написан на JavaScript и предоставляет API для существующих приложений, который позволяет осуществлять им полный контроль над сервером, не выходя из текущего процесса.

Великолепно! Как я могу его использовать?

Вы можете найти репозиторий здесь: github.com/ollym/nitrode

Я включил в него пример example.js, который будет использовать все текущие возможности Nitrode, среди которых:
  1. Базовая HTTP-аутентификация;
  2. поддержка ETag и If-Modified-Since;
  3. Поддержка публичных каталогов и обслуживание статических файлов;
  4. Поддержка SSL;
  5. Возможность настройки от А до Я;
  6. Поддержка виртуальных хостов;
  7. поддержка url rewrite;
  8. И многое другое…

В отличие от Connect, Nitrode стремится быть строго HTTP-сервером, и фокусируется целиком на этом направлении.

Чтобы запустить пример:
  1. Клонируйте исходный репозиторий;
  2. Перейдите в каталог репозитория;
  3. Выполните следующую команду: «sudo node example.js»;
  4. Откройте браузер и введите: «localhost:80»;
  5. Проверьте аутентификацию, используя имя пользователя: «admin», пароль: «admin»;
  6. Теперь вы должны увидеть страницу под названием: «Welcome to Nitrode!».

Убедитесь также, что example.js весьма легко читаем!

Что дальше?

Nitrode очень молод, я начал его разработку только на прошлой неделе или около того. Есть целый ряд вещей, которые мне еще предстоит сделать:
  1. Разбить index.js на более мелкие библиотеки;
  2. Добавить поддержку дайджест-аутентификации;
  3. Добавить поддержку сертификатов подлинности SSL;
  4. Написать модульные тесты;
  5. Улучшить производительность sys.pump;
  6. Написать тесты производительности;
  7. Написать документацию;

Если кто-то заинтересован, чтобы помочь мне с этими задачами, то пожалуйста, присоединяйтесь!

С уважением,
Olly

P.S.: от переводчика: только что вышел Node.JS 0.2.0, и автор обещает, что в этой ветке API меняться не будет.
P.P.S.: автор за время от анонса Nitrode до сего дня выпустил уже несколько новых версий, многое уже сделано.
Теги:
Хабы:
Всего голосов 20: ↑19 и ↓1+18
Комментарии7

Публикации