NodeJS na hostingu z Directadmin


Zastanawiasz się czy to jest możliwe połączyć NodeJS z Directadmin?

Bardzo dużo osób szuka poradników jak wykonać samodzielnie takie połączenie NodeJS + Directadmin od czego to tak naprawdę zależy

Jakie narzędzia twój dostawca konta hostingowego powinien dostarczyć aby to działało razem z Directadmin takie niezbędne minimum które jest konieczne do działania aplikacji w NodeJS z directadmin.

  • Apache / Litespeed konieczne jest tutaj działające .htaccess 
  • NodeJS ale z pakietem PM2

Czym jest pakiet PM2 – jest to systemowe narzędzie do kierowania procesami node, za pomocą tego narzędzia w łatwy sposób możemy uruchomić aplikację opartą o silnik w NodeJS

Jeśli takiego narzędzia nie ma twój operator hostingowy musi zainstalować go na poziomie serwera współdzielonego poleceniem

npm install pm2 -g

Ten programik pozwoli ci w prosty sposób zarządzać aplikacją.  Tworzymy pierwsza aplikację opartą o NodeJS

Utwórz poziom wyżej katalog w Directadmin o nazwie app w nim umieść plik o nazwie app.js

const http = require(‚http’);

const hostname = '127.0.0.1';
const port = 3001;

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('{"statusCode":404,"error":"Not Found","message":"Cannot GET /"}');
});

server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);

 

Jeśli skrypt ma być odpytywany z zewnątrz bardzo dobrą metodą jest utworzenie subdomeny i wygenerowanie SSL.

Uruchomienie aplikacji uruchamiamy poleceniem

pm2 start app.js

Konsola zwróci nam

Zatrzymanie aplikacji

pm2 stop app

 

 

 

Jak wykonać przekierowanie portów za pomocą pliku .htaccess 

 

RewriteEngine On

RewriteRule ^$ http://127.0.0.1:3001/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:3001/$1 [P,L]

 

Zanim uruchomisz aplikację opartą o ten mechanizm zapoznaj się z procedurami bezpieczeństwa, NodeJS to nie jest to samo co PHP pod żadnym pozorem nie uruchamiaj aplikacji w katalogu głównym public_html > ryzykujesz takim zachowaniem wyciek danych w bardzo łatwy sposób będzie można wykraść dane z serwera.  Pliki statyczne czyli html/js – możesz w tym folderze umieścić

Jak widzisz udało nam się uruchomić aplikację zgodnie z założeniem.

 

Dodaj komentarz