Rozdział 15 · 15.5
Konfiguracja aplikacji Node.js
Pana/Pani pakiet hostingowy obsługuje nie tylko PHP. Za pomocą funkcji Setup Node.js App mogą Państwo samodzielnie skonfigurować aplikację Node.js, na przykład aplikację Express lub niewielkie API. Każda aplikacja otrzymuje własną wersję Node.js i własny folder.
Tworzenie aplikacji
- W DirectAdmin w sekcji Dodatkowe funkcje proszę kliknąć Setup Node.js App.
- Proszę kliknąć CREATE APPLICATION (1).
- Przy Node.js version (1) proszę wybrać wersję. Do wyboru są Node.js 9, 16, 20, 22 i 24. Domyślnie ustawiona jest wersja 16, zalecamy jednak wybranie najnowszej wersji obsługiwanej przez aplikację, ponieważ wersje 9 i 16 nie otrzymują już aktualizacji.
- Przy Application mode proszę wybrać Development lub Production. Ustawia to zmienną NODE_ENV. Dla aplikacji działającej na produkcji należy wybrać Production.
- Przy Application root (2) proszę podać folder, w którym będą znajdować się pliki aplikacji, na przykład apps/mijnapp. Proszę wybrać folder poza public_html.
- Przy Application URL (3) proszę wybrać domenę i ewentualnie ścieżkę, na przykład api dla twojadomena.pl/api. Jeśli ścieżka pozostanie pusta, aplikacja będzie działać na całej domenie.
- Przy Application startup file (4) proszę podać plik, który uruchamia aplikację, na przykład app.js lub server.js.
- W razie potrzeby przy Environment variables za pomocą ADD VARIABLE można dodać własne ustawienia.
- Proszę kliknąć CREATE.



Przesyłanie kodu i instalacja pakietów
- Proszę przesłać kod do folderu wybranego przy Application root za pomocą Menedżera Plików, FTP lub Git (zob. Przesyłanie i pobieranie plików i Git: aktualizacja strony internetowej z repozytorium).
- Jeśli w tym folderze znajduje się plik package.json, proszę wrócić do Setup Node.js App, kliknąć przy swojej aplikacji ikonę ołówka, aby ją edytować, i kliknąć Run NPM Install. Pakiety zostaną wtedy zainstalowane.
- Proszę kliknąć Restart, aby (ponownie) uruchomić aplikację.
Po każdej zmianie w kodzie należy ponownie kliknąć Restart. W przeciwnym razie nadal będzie działać poprzednia wersja.
Warto wiedzieć
- Aplikacja musi nasłuchiwać na porcie przydzielonym przez serwer. W kodzie proszę użyć process.env.PORT, a nie stałego numeru portu.
- Aplikacja działa w ramach limitów Państwa pakietu (procesor, pamięć, procesy; zob. Resource Usage: CPU, pamięć i procesy). Dla bardziej wymagającej aplikacji warto wybrać większy pakiet.
- W pakiecie z SSH (zob. Klucze SSH i logowanie przez SSH) u góry ekranu aplikacji znajduje się polecenie pozwalające w Terminalu aktywować odpowiednią wersję Node.js i folder. Następnie polecenia node i npm działają tak, jak zwykle.
- Strona internetowa utworzona za pomocą generatora stron (statyczny HTML) nie wymaga Node.js. Taką stronę wystarczy przesłać bezpośrednio do public_html.
Najczęściej zadawane pytania
Moja aplikacja zwraca błąd 503.
Aplikacja się nie uruchamia. Zazwyczaj przyczyną jest nieprawidłowy plik startowy, brakujące pakiety (zapomniano kliknąć Run NPM Install) lub błąd w kodzie. Proszę sprawdzić komunikat o błędzie w pliku stderr.log w folderze aplikacji.
Czy moja aplikacja może działać przez cały dzień?
Tak, o ile mieści się w limitach Pana/Pani pakietu. Aplikacja jest uruchamiana po otrzymaniu żądania i zatrzymywana po pewnym czasie bez żądań. Aplikacja, która musi działać stale bez odwiedzających, na przykład bot, lepiej sprawdzi się na VPS.
Moja aplikacja zawiesiła się i nie reaguje na Stop ani Restart.
Proszę odczekać minutę i spróbować ponownie. Jeśli to nie pomoże, prosimy o zgłoszenie w formie ticketu z podaniem nazwy aplikacji.
