Управление проектом на Node.js
Действия с сайтом на Node.js
Чтобы выбрать действие:
- Авторизуйтесь в ispmanager под нужной учетной записью.
- Перейдите в раздел Сайты.
- Выберите сайт или приложение → нажмите
. - В контекстном меню нажмите на нужное действие:
- Параметры запуска (Node.js)
- Перезапустить (Node.js)
- Npm install
- Просмотр пакетов Node.js
- Shell-клиент
Параметры запуска (Node.js)
Параметры запуска — команды из конфигурационного файла, которые выполнит Node.js над проектом. Например, команда "node server.js" запустит server.js.
Чтобы настроить команды заполните данные:
- Выбрать команду из списка доступных:
Выбор команды — команды выбираются из списка, указанного в параметре
"scripts"файлаpackage.jsonПример команд"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node server.js" }
- Указать команду вручную:
- Описание команды — одна самописная команда для запуска проекта. Команда может включать несколько команд с помощью операторов (
&&,;и|). Пример команды:"npm run test && exit 1"
- Описание команды — одна самописная команда для запуска проекта. Команда может включать несколько команд с помощью операторов (
- Выполнить дополнительную команду перед запуском — установите галочку, чтобы указать собственную команду и активировать её перед каждым запуском проекта. Пример команды:
node server.js. После выполнения команды она сохранится в список команд опции Выбрать команду из списка доступных. Пример команды в списке:"ispmanager-custom-command":"node server.js" - Добавить переменную окружения — переменная, которая передает проекту параметры без изменения кода. Переменные окружения хранятся в кодировке base64-XML. Они указываются в формате
ИМЯ/ЗНАЧЕНИЕв поле AppEnv внутренней таблицы nodejs. Доступно добавление до 10 переменных окружения- Имя — название переменной. Пример:
EXAMPLE_ENV - Значение — значение переменной. Пример:
example_value
- Имя — название переменной. Пример:
После настройки сохраните изменения.
Если вы добавили новые команды, установите их через npm и перезапустите проект.
Перезапустить (Node.js)
После создания и первого развертывания проекта на Node.js он автоматически перезапускается.
Для применения всех последующих изменений перезапускайте проект вручную.
Перезапуск сопровождается статусом
в столбце Параметры. В случае успеха статус меняется на
, при ошибке — на
. Нажмите на статус для просмотра журнала ошибок.
Npm install
Npm — менеджер пакетов Node.js. Вместе с командой install устанавливает зависимости из файла package.json и управляет проектом. Заменяет ввод команды в терминале.
Всегда используйте Npm install:
- после изменения параметров запуска
- ручного добавления зависимостей в файл
package.json
Не требуется при установке пакетов через Просмотр пакетов Node.js.
Просмотр пакетов Node.js
Здесь доступны:
- просмотр автоматически загруженных пакетов из
package.json - установка недостающих пакетов без редактирования
package.json - удаление пакетов из
package.jsonи проекта
Для ручной установки пакетов:
- На панели инструментов нажмите
Установить. Введите:
ПАКЕТ@ВЕРСИЯ_ПАКЕТА. Для списка пакетов указывайте каждый с новой строки.ПримерДля установки пакета Express версии 4.18.3 введите: express@4.18.3.
- Нажмите Установить.
- Дождитесь окончания установки пакетов.
Пакеты устанавливаются из реестра npm. После установки они отображаются в списке и добавляются в package.json в "dependencies".
{
"name": "node.com",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "commonjs",
"dependencies": {
"express": "^4.18.3"
}
}Shell-клиент
Для выполнения команд Node.js и npm используйте shell-клиент. Эта возможность доступна, если в настройках пользователя включена опция Может использовать shell.
При запуске shell-клиента панель управления автоматически:
- откроет домашнюю директорию сайта
- добавит пути к Node.js для выбранного сайта в переменную
PATH
Файлы проекта на Node.js
Проект Node.js по умолчанию создает конфигурационный файл package.json и файл с сервером server.js. Конфигурационный файл устанавливает зависимости через npm и управляет запуском сервера.
Чтобы изменить файлы:
Не редактируйте файлы без полной уверенности в своих действиях. Перед сохранением ispmanager проверяет синтаксис, но не корректность настроек.
- Авторизуйтесь в ispmanager под нужной учетной записью.
- Перейдите в раздел Сайты.
- Выберите сайт.
- На панели инструментов нажмите
Конфиг. файлы. В конфигурационном файле Node.js измените путь к приложению сайта в параметрах
"main"и"start".Содержимоеpackage.jsonпо умолчанию{ "name": "doc.test", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node server.js" }, "keywords": [], "author": "", "license": "ISC" }Подробнее о формате конфигурационного файла — в официальной документации Node.js.
При необходимости отредактируйте файл с сервером.
Содержимоеserver.jsпо умолчаниюconst http = require('http'); const fs = require('fs'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/html;charset=utf-8'); const data = fs.readFileSync(process.env.INDEX_PATH, 'utf8'); res.end(data); }); if ("SOCKET" in process.env) { const socket = process.env.SOCKET; // Socket must be removed before starting server. // This action is required. Otherwise server will not start if socket exists. if (fs.existsSync(socket)) { fs.unlinkSync(socket); } server.listen(socket, () => { fs.chmodSync(socket,0660); console.log(`Listening ${socket}`); }); } else if ("PORT" in process.env) { const hostname = process.env.INSTANCE_HOST; const port = process.env.PORT; server.listen(port, hostname, () => { console.log(`Listening http://${hostname}:${port}/`); }); }- Нажмите Сохранить и закрыть.
Далее установите пакеты через npm.
Диагностика приложения через pm2
Проверьте работу приложения сайта через менеджер процессов pm2. Эта возможность доступна, если в настройках пользователя включена опция Может использовать shell.
- Подключитесь к серверу с панелью ispmanager по SSH.
В терминале авторизуйтесь под учетной записью владельца сайта.
Как авторизоваться в терминалеВведите команду в терминал:
su USERNAMEГде
USERNAME— имя пользователя в панели. Например, www-root.Выведите список приложений:
/usr/lib/ispnodejs/bin/pm2 listПример ответа|id│name │namespace│version│mode│pid │uptime│↺ │status│cpu│mem │user │watching│ ├──┼────────────┼─────────┼───────┼────┼──────┼──────┼──┼──────┼───┼──────┼──────────────────┼────────┤ │ 0│example.com │default │N/A │fork│317423│ 13m │2 │online│0% │60.6mb│ ИМЯ_ПОЛЬЗОВАТЕЛЯ │disabled│ │ 1│example2.com│default │N/A │fork│316830│ 19m │0 │online│0% │61.7mb│ ИМЯ_ПОЛЬЗОВАТЕЛЯ │disabled|Запросите информацию о нужном приложении:
/usr/lib/ispnodejs/bin/pm2 info NAME или IDПодробнееГде:
NAME— имя сайта. Например, example.comID— идентификатор процесса приложения
Пример ответа:
Describing process with id 0 - name example.com | status │ online │ │ name │ example.com │ │ namespace │ default │ │ version │ N/A │ │ restarts │ 2 │ │ uptime │ 15m │ │ script path │ /var/www/ ИМЯ_ПОЛЬЗОВАТЕЛЯ /data/.nvm/versions/node/v18.1.0/bin/npm │ │ script args │ start │ │ error log path │ /var/www/ ИМЯ_ПОЛЬЗОВАТЕЛЯ /data/.pm2/logs/example.com-error.log │ │ out log path │ /var/www/ ИМЯ_ПОЛЬЗОВАТЕЛЯ /data/.pm2/logs/example.com-out.log │ │ pid path │ /var/www/ ИМЯ_ПОЛЬЗОВАТЕЛЯ /data/.pm2/pids/example.com-0.pid │ │ interpreter │ node │ │ interpreter args │ N/A │ │ script id │ 0 │ │ exec cwd │ /var/www/ ИМЯ_ПОЛЬЗОВАТЕЛЯ /data/www/example.com │ │ exec mode │ fork_mode │ │ node.js version │ 26.2.0 │ │ node env │ N/A │ │ watch & reload │ ✘ │ │ unstable restarts │ 0 │ │ created at │ 2026-06-01T04:25:03.051Z |