Современный shared хостинг с cPanel поддерживает Node.js через Apache Passenger. Это позволяет запускать Express, Next.js и другие Node.js приложения без аренды VPS.
Запуск Node.js через cPanel
Шаг 1: Setup Node.js App
cPanel → Software → Setup Node.js App → Create Application.
| Поле | Пример |
|---|---|
| Node.js version | 20.x LTS |
| Application mode | Production |
| Application root | myapp |
| Application URL | example.com/app или subdomain |
| Application startup file | app.js |
Шаг 2: Загрузить файлы
# Структура приложения в ~/myapp/
myapp/
├── app.js (точка входа)
├── package.json
└── node_modules/ (создастся при npm install)
Шаг 3: Установить зависимости
В Setup Node.js App нажмите «Run NPM Install» или через SSH:
cd ~/myapp
npm install
Шаг 4: Минимальный app.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.send('Hello from Node.js on cPanel!');
});
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
✅ Passenger автоматически управляет процессом — перезапускает при сбое, не нужен PM2.
Переменные окружения
В интерфейсе Setup Node.js App → Add Variable:
NODE_ENV=production
DATABASE_URL=mysql://user:pass@localhost/dbname
API_KEY=your_secret_key
⚠️ Passenger запускает приложение от имени вашего cPanel-пользователя. Порт назначается автоматически — не хардкодьте 3000 в production.