Node.js: Różnice pomiędzy wersjami

(Własna wersja Node.js)
Linia 7: Linia 7:
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
 
* Została dodana [[WWW|strona WWW]] z wskazaniem typu Node.js.
 
* Została dodana [[WWW|strona WWW]] z wskazaniem typu Node.js.
 +
 +
=== Wersje Node.js ===
 +
 +
Na serwerach MyDevil udostępniamy 2 wersje Node:
 +
* 4.1.1 - binarki <code>node</code> i <code>npm</code>
 +
* 0.12.7 - binarki <code>node012</code> i <code>npm012</code>.
  
 
=== Projekt Node.js===
 
=== Projekt Node.js===
Linia 51: Linia 57:
  
 
Wszystkie pliki umieszczone w <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs/public</code> są serwowane jak pliki statyczne. W tym katalogu najlepiej umieścić wszystkie obrazki, skrypty, style, itp. Żądania do plików znajdujących się w tym folderze nie będą przetwarzane przez skrypty Django i nie będą obciążać interpretatora. Na przykład plik <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs/public/robots.txt</code> będzie dostępny pod adresem http://''domena''/robots.txt.
 
Wszystkie pliki umieszczone w <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs/public</code> są serwowane jak pliki statyczne. W tym katalogu najlepiej umieścić wszystkie obrazki, skrypty, style, itp. Żądania do plików znajdujących się w tym folderze nie będą przetwarzane przez skrypty Django i nie będą obciążać interpretatora. Na przykład plik <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs/public/robots.txt</code> będzie dostępny pod adresem http://''domena''/robots.txt.
 
=== Własna wersja Node.js ===
 
 
Aby zainstalować własną wersję Node.js należy pobrać źródła, zaaplikować [https://svnweb.freebsd.org/ports/head/www/ patche] FreeBSD, a następnie skompilować. Na przykład aby zainstalować Node.js w wersji 0.12.7 należy:
 
 
# Ściągnąć źródła <code><nowiki>wget https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz</nowiki></code>.
 
# Wypakować źródła <code>tar -zxf node-v0.12.7.tar.gz</code>.
 
# Przejść do katalogu ze źródłami  <code>cd node-v0.12.7</code>.
 
# Ściągnąć patche:
 
#*<code><nowiki>wget "https://svnweb.freebsd.org/ports/head/www/node012/files/patch-deps_v8_src_base_platform_platform-freebsd.cc?view=co" -O "patch-deps_v8_src_base_platform_platform-freebsd.cc" </nowiki></code>,
 
#*<code><nowiki>wget "https://svnweb.freebsd.org/ports/head/www/node012/files/patch-deps_v8_src_base_platform_platform-posix.cc?view=co" -O "patch-deps_v8_src_base_platform_platform-posix.cc" </nowiki></code>.
 
# Zaaplikować patche:
 
#* <code>patch -p0 < patch-deps_v8_src_base_platform_platform-freebsd.cc</code>,
 
#* <code>patch -p0 < patch-deps_v8_src_base_platform_platform-posix.cc</code>.
 
# Skonfigurować: <code>./configure --prefix=$HOME/nodejs0.12.7</code>.
 
# Skompilować: <code>gmake && gmake install</code>.
 
# Opcjonalnie dodać do path własną wersję node <code>echo 'export PATH=$HOME/nodejs0.12.7/bin:$PATH' >> ~/.bash_profile && bash ~/.bash_profile</code>.
 
  
 
=== Odnośniki zewnętrzne ===
 
=== Odnośniki zewnętrzne ===

Wersja z 16:21, 26 paź 2015

Node.js to otwarte, wieloplatformowe środowisko programistyczne.

Wstępna konfiguracja domeny

Do uruchomienia strony napisanej w Node.js należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana strona WWW z wskazaniem typu Node.js.

Wersje Node.js

Na serwerach MyDevil udostępniamy 2 wersje Node:

  • 4.1.1 - binarki node i npm
  • 0.12.7 - binarki node012 i npm012.

Projekt Node.js

Głównym katalogiem projektu Node.js (tj. katalog, w którym znajduje się plik app.js) musi być folder /usr/home/login/domains/domena/public_nodejs. Należy również usunąć plik index.html poleceniem rm /usr/home/login/domains/domena/public_nodejs/static/index.html

Moduły Node.js

Aby zainstalować wybrany moduł Node.js należy skorzystać z polecenia npm install nazwa_modułu. Moduły posiadające binarki zaleca się instalować w katalogu domowym.

Aby móc korzystać z binarek dostarczonych z zainstalowanych modułów bez podawania do nich pełnej ścieżki należy w .bash_profile dodać linijkę:

export PATH="$PATH:$HOME/node_modules/.bin/"

Przygotowanie aplikacji Node.js

Nowy projekt Node.js należy utworzyć w katalogu /usr/home/login/domains/domena/public_nodejs - najprostszym sposobem utworzenia odpowiedniego projektu jest stworzenie pliku app.js:

var http = require('http');
var server = http.createServer(function(req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end("hello world!\n");
});
server.listen(3000);

Widoczny w ostatniej linii port 3000 nie otworzy socketu na porcie 3000. Phusion Passenger automatycznie wybiera losowy, wolny port, przez który komunikuje się z aplikacją. Rezerwacja portu nie jest potrzebna przy uruchamianiu aplikacji przez typ nodejs.

Istniejący projekt Node.js

Istniejący projekt Node.js należy umieścić jako katalog /usr/home/login/domains/domena/public_nodejs. W przypadku gdy projekt nie nazywa się public_nodejs należy zmienić jego nazwę. Należy również zmodyfikować plik app.js tak, aby wykonywał aplikację. Zwykle poza odpowiednim require i ustawieniem listen() plik app.js nie potrzebuje zawierać więcej elementów. Trzeba również zainstalować brakujące poleceniem npm install.

Restart aplikacji

Restart aplikacji Node.js można wykonać za pomocą naszego panelu zarządzania usługą w zakładce WWW, lub przy użyciu polecenia systemu zarządzania kontem Devil: devil www restart domena.

Pliki statyczne

Wszystkie pliki umieszczone w /usr/home/login/domains/domena/public_nodejs/public są serwowane jak pliki statyczne. W tym katalogu najlepiej umieścić wszystkie obrazki, skrypty, style, itp. Żądania do plików znajdujących się w tym folderze nie będą przetwarzane przez skrypty Django i nie będą obciążać interpretatora. Na przykład plik /usr/home/login/domains/domena/public_nodejs/public/robots.txt będzie dostępny pod adresem http://domena/robots.txt.

Odnośniki zewnętrzne