Używanie Node.js z ISPConfig na VPS

Procédure

Aby uruchomić aplikację Node.js na swoim VPS z ISPConfig, musisz skonfigurować Apache jako reverse proxy do lokalnego portu twojego skryptu. Node.js to środowisko uruchomieniowe JavaScript po stronie serwera, które umożliwia tworzenie szybkich i skalowalnych aplikacji webowych. Łącząc menedżer procesów, taki jak PM2, oraz dyrektywy ISPConfig, zapewniasz ciągłość działania swojej usługi i zabezpieczenie certyfikatem SSL.

Kroki

  1. Dostęp do zarządzania VPS

    Zaloguj się do swojego panelu klienta, przejdź do sekcji Serwery, a następnie kliknij Zarządzaj przy swoim serwerze VPS z ISPConfig.

    Używanie Node.js z ISPConfig na VPS
  2. Otworzyć interfejs ISPConfig

    W panelu sterowania serwera kliknij Panel administracyjny, aby połączyć się z konsolą ISPConfig.

    Używanie Node.js z ISPConfig na VPS
  3. Zarządzać administracją i dostępem root, jeśli to konieczne

    Jeśli zdecydujesz się zainstalować Node.js globalnie dla całego systemu zamiast dla lokalnego konta witryny, kliknij Administracja, zaznacz opcję Serwer NIEzarządzany przez LWS i potwierdź przyciskiem Potwierdź. LWS nie będzie wtedy zarządzać serwerem, co odblokuje dane dostępowe w Dostęp ROOT SSH.

    Używanie Node.js z ISPConfig na VPS
  4. Utworzyć stronę internetową i aktywować certyfikat SSL

    W ISPConfig otwórz zakładkę Strony, dodaj swoją domenę (na przykład „exemple.fr”), a następnie zaznacz pola SSL oraz Let's Encrypt SSL przed zapisaniem.

  5. Połączyć się z serwerem przez SSH

    Otwórz terminal i nawiąż połączenie SSH za pomocą swojego konta (użytkownika witryny ISPConfig lub użytkownika root, jeśli administracja została wyłączona).

    Używanie Node.js z ISPConfig na VPS
  6. Aktywować moduły proxy Apache

    Aby przekierować ruch HTTP do swojej aplikacji, włącz wymagane moduły poleceniem a2enmod proxy proxy_http, a następnie zrestartuj Apache za pomocą systemctl restart apache2 (operacja wymagająca uprawnień administracyjnych lub już aktywna w zależności od twojej oferty).

  7. Zainstalować Node.js LTS

    Zainstaluj Node.js w wersji LTS w swojej sesji za pomocą nvm lub repozytoriów swojej dystrybucji, a następnie sprawdź zainstalowaną wersję, wpisując polecenie node -v.

  8. Utworzyć minimalną aplikację Express

    Przejdź do katalogu swojej witryny, zainicjuj projekt poleceniem npm init -y, zainstaluj framework Express za pomocą npm install express i utwórz plik server.js skonfigurowany do nasłuchiwania na lokalnym porcie 3000.

  9. Uruchomić i utrwalić aplikację za pomocą PM2

    PM2 to menedżer procesów dla Node.js, który pozwala utrzymywać aplikacje aktywne bez przerwy i uruchamiać je ponownie po awarii. Zainstaluj go poleceniem npm install -g pm2, uruchom swój skrypt przez pm2 start server.js --name mon-app i zapisz stan za pomocą pm2 save.

  10. Skonfigurować reverse proxy Apache w ISPConfig

    Reverse proxy to pośredni serwer, który odbiera żądania webowe od odwiedzających i przekazuje je do wewnętrznego serwera aplikacji. W ISPConfig edytuj swoją witrynę, przejdź do zakładki Opcje, a następnie w polu Dyrektywy Apache dodaj: ProxyPreserveHost On, a następnie ProxyPass / http://localhost:3000/ i ProxyPassReverse / http://localhost:3000/.

  11. Przetestować działanie przez HTTPS

    Otwórz przeglądarkę i wpisz adres swojej witryny (na przykład https://exemple.fr), aby sprawdzić wyświetlanie zabezpieczonego skryptu Node.js.

Metody instalacji Node.js na twoim VPS

Dostępnych jest kilka sposobów integracji pakietów Node.js w zależności od twoich wymagań administracyjnych i utrzymania zarządzania.

  • Instalacja przez NVM (Node Version Manager) — umożliwia instalowanie i zarządzanie wieloma wersjami Node.js bezpośrednio w katalogu użytkownika, bez uprawnień root i bez modyfikowania administracji VPS.
  • Instalacja przez menedżer pakietów APT Debiana — instaluje globalną, stabilną wersję dla całego systemu operacyjnego, wymagając uprawnień root i wyłączenia administracji.

Często zadawane pytania

Dlaczego moja strona wyświetla błąd 502 lub 503?

Błąd 502 Bad Gateway lub 503 Service Unavailable oznacza, że Apache nie może połączyć się z Node.js na skonfigurowanym porcie. Sprawdź, czy twoja aplikacja została poprawnie uruchomiona przez PM2 poleceniem pm2 status i czy nasłuchuje lokalnie na porcie 3000.

Czy administracja LWS jest obowiązkowa, aby Node.js działał?

Nie. VPS ISPConfig jest domyślnie zarządzany, co gwarantuje obsługę twojego serwera. Możesz uruchomić Node.js bez root dzięki nvm w ramach konta shell swojej witryny. Jeśli usuniesz administrację, aby uzyskać dostęp root, samodzielnie przejmujesz pełną administrację serwerem.

Czy moja aplikacja Node.js uruchomi się ponownie po restarcie VPS?

Tak, pod warunkiem, że wykonano polecenie pm2 startup oraz pm2 save. PM2 automatycznie aktywuje twoje skrypty przy starcie systemu.

Czy mogę uruchamiać kilka aplikacji Node.js na tym samym serwerze?

Tak. Wystarczy przypisać każdej aplikacji inny lokalny port (na przykład 3000, 3001) i skonfigurować odpowiednie dyrektywy Apache ProxyPass dla każdej domeny w ISPConfig.

Czy trzeba otworzyć port aplikacji w zaporze sieciowej?

Nie. Aplikacja Node.js nasłuchuje wyłącznie na adresie lokalnym (203.0.113.10 lub localhost). To serwer Apache odbiera bezpieczne połączenia webowe na standardowych portach 80 i 443, aby przekierować je wewnętrznie.

Przydatne linki

help.lws.net/a/7952
Czy ten artykuł był pomocny?

Tak

Nie

Przeczytano 3 razy

Dziękujemy! Zadawaj pytania dotyczące naszej dokumentacji, jeśli potrzebujesz więcej informacji, i pomóż nam ją ulepszyć.

Podobne artykuły

Masz pytanie dotyczące tego artykułu?

Zadaj je zespołowi LWS i społeczności. Odpowiedź zostanie opublikowana po moderacji.

Zadaj pytanie zespołowi LWS i jego społeczności

RODO: Administrator: LWS-Ligne Web Services. Cel: moderacja i publiczna publikacja pytania, ewentualne powiadomienie o odpowiedzi. Podstawa prawna: zgoda (art. 6 ust. 1 lit. a RODO). Przechowywanie adresów e-mail: 90 dni po powiadomieniu, maksymalnie 12 miesięcy bez odpowiedzi. Aby skorzystać ze swoich praw, zobacz sekcję RODO naszego regulaminu.