В качестве отклика на инструкцию «Как сделать простой веб-сайт за один час» я решил опубликовать собственную, состоящую из пяти простых и обозримых ≈пятиминутных шагов.
Шаг 1. Установитьдвижок Node.js в соответствии с инструкциями, имеющимися в вики для каждой из поддерживаемых операционных систем. (Для Windows достаточно скачать и запустить MSI-файл, для CentOS — воспользоваться системным менеджером пакетов, и так далее.)
Шаг 2. Создать пустой каталог и поместить в нём файл«site.js» следующего содержания:
Настройки staticSiteOptions можно переменить по собственному вкусу.
Шаг 3. В том же каталоге подать команду«npm install express», которая автоматически создаст подкаталог «node_modules» и установит туда Express, скачав из Интернета.
Шаг 4. В том же каталоге создать подкаталог«static» и поместить в нём файлы статического сайта. Этот подкаталог станет корнем сайта. Файлы с именами «index.html» будут использоваться как файлы-индексы. Иными словами, при ответе сервера на запрос с адресом, содержащим только имя некоторого каталога (будь то корень сайта или один из его подкаталогов), будет показан файл с именем «index.html» из указанного каталога (если есть).
Шаг 5. В том же каталоге подать команду«node site», которая запустит сервер. Убедившись в её работоспособности, обеспечить автозапуск этой команды в этом каталоге после каждой перезагрузки операционной системы. (Например, на CentOS 6.2 можно использовать upstart для этой цели.)
Всё.
Шаг 1. Установить
Шаг 2. Создать пустой каталог и поместить в нём файл
site.js
// Перечисление зависимостей:
var path = require('path');
var express = require('express');
// Описание настроек:
var staticSiteOptions = {
portnum: 80, // слушать порт 80
maxAge: 1000 * 60 * 15 // хранить страницы в кэше пятнадцать минут
};
// Запуск сайта:
express().use(express.static(
path.join(__dirname, 'static'),
staticSiteOptions
)).listen(staticSiteOptions.portnum);
Настройки staticSiteOptions можно переменить по собственному вкусу.
Шаг 3. В том же каталоге подать команду
Шаг 4. В том же каталоге создать подкаталог
Шаг 5. В том же каталоге подать команду
Всё.