Setup Node.js App
Jak uruchomić aplikację Node.js (Express, Next.js, NestJS) na hostingu IQHost — CloudLinux Node.js Selector. Konfiguracja, NPM, deploy, debug.
W IQHost możesz uruchamiać aplikacje Node.js na hostingu shared (zwykle pakiety HS5+). Mechanizm: CloudLinux Node.js Selector — uruchamia Twoją aplikację w izolacji, przekierowuje requesty HTTP.
Co zyskasz
- Uruchomisz Node.js app (Express, Next.js, NestJS) na IQHost.
- Skonfigurujesz NPM packages, env variables.
- Wdrożysz update przez git.
- Debugujesz wolny start / błędy aplikacji.
Wymagania wstępne
- Pakiet IQHost z Node.js Selector (HS5+).
- Aplikacja Node.js (kod lokalnie albo na GitHub).
Wskazówka
Node.js shared hosting — działa, ale ograniczenia:
- 1 worker (single instance, nie cluster)
- Limited RAM (per pakiet LVE)
- No persistent WebSocket connections (długie połączenia mogą być cut)
Dla enterprise apps z dużym ruchem — VPS / dedicated. Hosting shared OK dla małych Node.js (admin tool, dashboard, blog SSG).
Krok 1: Otwórz Node.js Selector
Dodatkowe funkcje → Setup Node.js App.
Lista istniejących aplikacji + przycisk Create Application.
Krok 2: Create Application
Formularz:
- Node.js version — wybór: 14, 16, 18, 20, 22 (LTS)
- Application mode — Production / Development
- Application root — folder z kodem (np.
apps/myapp)- Application URL — pod jakim URL ma być dostępna (subdomain albo
mojafirma.pl/app)- Application startup file — entry point (
app.js,server.js,index.js)
Krok 3: Wypełnij — przykład Express
Node.js version: 20.x LTS Application mode: Production Application root: apps/express-test Application URL: mojafirma.pl/api Application startup file: server.jsKlik Create. CloudLinux:
- Tworzy folder
/home/host36592/apps/express-test/- Generuje
package.json(minimal)- Setup proxy z URL do Node.js process
Krok 4: Wgraj kod
SSH lub Menedżer Plików — wgraj kod aplikacji do
apps/express-test/.Albo git clone w tym folderze.
Krok 5: Install dependencies
W Node.js Selector → Run NPM Install.
CloudLinux uruchamia
npm installw folderze app. Po instalacji wszystkienode_modules/na miejscu.Alternatywa SSH:
cd ~/apps/express-test npm install
Krok 6: Environment variables
W Node.js Selector → Environment Variables → dodawaj klucz/wartość:
NODE_ENV=production DB_HOST=localhost DB_NAME=host36592_app DB_USER=host36592_app DB_PASSWORD=secret PORT=ignorowane (CloudLinux ustawia własny)Dostępne w aplikacji przez
process.env.NODE_ENV.
Krok 7: Start application
Start App w panelu. Aplikacja uruchamia się — sprawdź status.
Albo SSH:
cd ~/apps/express-test npm start::: callout warn Long-running processes mogą być zabijane przez LVE limit. Dla stałego procesu — używaj PM2 lub CloudLinux app lifecycle.
Typowe frameworks
Express
// server.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello from IQHost Node.js!');
});
// CloudLinux Node.js Selector ustawia PORT
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Listening on ${PORT}`));
Next.js
// package.json
{
"scripts": {
"build": "next build",
"start": "next start"
}
}
W Node.js Selector:
- Application startup file:
server.js(custom server lub next start wrapper) - Lub static export:
next export→ wgrajout/jako static
NestJS
// main.ts (compiled main.js)
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(process.env.PORT || 3000);
}
bootstrap();
Najczęstsze problemy
1. „Application doesn't start"
- Sprawdź Application startup file — zgodny z
package.jsonmain? - Logi: Node.js Selector → View Logs lub
~/apps/myapp/logs/ - Stack trace błędu — fix w kodzie
2. „npm install fails"
- Sprawdź dostępną pamięć (
free -hprzez SSH) - Może
package-lock.jsonzepsuty — usuń,npm installod nowa - Niektóre packages wymagają binarnych modułów (
node-gyp) — mogą fail na hostingu shared
3. „Application restartuje co X minut"
LVE może zabijać proces gdy przekroczy limity. Sprawdź Resource Usage w DA — patrz Resource Usage.
4. „WebSocket nie działa"
WebSocket długo-żyjące mogą być przerywane przez load balancer / proxy. Dla intensywnego WS — VPS.
5. „Aplikacja powolny start"
Każdy restart = full reinit. Cache co możesz (Redis, in-memory). Albo PM2 z keepalive.
6. „Mogę uruchomić cluster (multiple workers)?"
Node.js Selector zwykle 1 worker. Dla cluster — może wymagać VPS. Alternatywa: cluster wewnątrz Node ale uważaj na LVE limity.
7. „Database connection — gdzie się łączę?"
MySQL na localhost (lub 127.0.0.1). Credentials z DA → Bazy danych. Patrz Tworzenie bazy.
Słowniczek
- CloudLinux Node.js Selector — narzędzie zarządzające Node.js aplikacjami per user.
- PM2 — process manager dla Node.js.
- LVE — CloudLinux resource limit.
- NPM — Node Package Manager.
Related
Feedback
Czy ten artykuł pomógł?

