Как запустить приложение Node.js в cPanel
ПечатьКоротко: приложение Node.js запускается из cPanel через инструмент Setup Node.js App. Вы создаёте приложение, загружаете файлы проекта, ставите пакеты npm из интерфейса или из терминала и перезапускаете приложение. Node.js входит в тарифы Web Hosting SSD.
Что понадобится
- Сам проект с файлом
package.jsonи файлом запуска (например,app.js,server.jsилиindex.js). - Домен или поддомен, уже добавленный в cPanel, на котором будет работать приложение.
- Номер версии Node.js, на которой проект работал у Вас локально.
Шаг 1. Создайте приложение
- Войдите в cPanel и в разделе Software откройте Setup Node.js App. Там виден список уже созданных приложений.
- Нажмите Create Application.
- Заполните поля:
| Поле | Что указать |
|---|---|
| Node.js version | Версию, подходящую для проекта. |
| Application mode | Production для рабочего сайта, Development только для отладки. |
| Application root | Папку с файлами приложения, например nodeapp. |
| Application URL | Домен и при желании путь, по которому откроется приложение. |
| Application startup file | Файл запуска, например app.js. |
Нажмите Create. В папке появится тестовое приложение. Откройте его адрес в браузере: если видна тестовая страница, окружение работает.
Обратите внимание: приложение занимает выбранный адрес. Если указать корень основного домена, прежний сайт на нём перестанет открываться. Для проб лучше взять поддомен или отдельный путь.
Шаг 2. Загрузите свой проект
- Удалите тестовые файлы, созданные системой в папке приложения.
- Загрузите файлы проекта в ту же папку через File Manager или по FTP.
- Если файл запуска называется иначе, нажмите Edit у приложения и исправьте поле Application startup file.
- Когда в папке есть
package.json, на странице приложения появляется кнопка Run NPM Install. Нажмите её, чтобы установить зависимости. - Нажмите Restart и проверьте адрес приложения в браузере.
Частая ошибка: загрузка папки node_modules со своего компьютера. На сервере пакеты ставятся в отдельное виртуальное окружение, а node_modules в папке приложения служит лишь ссылкой на него. Собственная папка с таким именем мешает установке.
Шаг 3. Работа с npm через терминал
Установка из интерфейса срабатывает не всегда, особенно когда зависимостей много. В этом случае используйте командную строку:
- Откройте Terminal в cPanel или подключитесь по SSH. Доступ по SSH на хостинге включает служба поддержки по Вашему запросу.
- Вверху страницы приложения в Setup Node.js App показана команда для входа в его виртуальное окружение. Скопируйте и выполните её. Выглядит она примерно так:
source /home/ЛОГИН/nodevenv/nodeapp/ВЕРСИЯ/bin/activate && cd /home/ЛОГИН/nodeapp
- Выполните
npm install, затем перезапустите приложение в cPanel.
Полезные команды npm
| Команда | Назначение |
|---|---|
npm install | Ставит все пакеты из package.json |
npm install ИМЯ | Добавляет конкретный пакет |
npm uninstall ИМЯ | Удаляет пакет |
npm update ИМЯ | Обновляет пакет в пределах версий из package.json |
npm list --depth=0 | Показывает пакеты, установленные напрямую в проект |
npm outdated | Показывает пакеты, для которых вышли новые версии |
npm help | Выводит справку и список команд |
Если приложение не запускается
- Проверьте в форме Edit имя файла запуска и папку приложения.
- Посмотрите журнал ошибок приложения: в форме можно указать файл лога, куда Node.js пишет сообщения об ошибках.
- Помните, что приложение расходует ресурсы тарифа (процессор, память, процессы). Слишком прожорливый процесс будет остановлен лимитами аккаунта.
Если разобраться не получается, откройте тикет и укажите домен и папку приложения.