ZARZąDZANIE HOSTINGIEM (DIRECTADMIN) • 5 MIN READ

Setup Node.js App

Jak uruchomić aplikację Node.js (Express, Next.js, NestJS) na hostingu IQHost — CloudLinux Node.js Selector. Konfiguracja, NPM, deploy, debug.

Zespół IQHost 14 maj 2026 5m read
#DirectAdmin #IQHost #hosting

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.

Strona Setup Node.js App w DA

Lista istniejących aplikacji + przycisk Create Application. Pełna strona Node.js Selector — lista aplikacji Node

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.js

Klik Create. CloudLinux:

  1. Tworzy folder /home/host36592/apps/express-test/
  2. Generuje package.json (minimal)
  3. 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 install w folderze app. Po instalacji wszystkie node_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 → wgraj out/ 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.json main?
  • 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 -h przez SSH)
  • Może package-lock.json zepsuty — usuń, npm install od 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ł?

Potwierdź