Node.js: Różnice pomiędzy wersjami
m (26 wersji) |
|||
Linia 10: | Linia 10: | ||
=== Wersje Node.js === | === Wersje Node.js === | ||
− | Na serwerach MyDevil udostępniamy | + | Na serwerach MyDevil udostępniamy 4 wersje Node: |
− | * | + | * v7.9.0 - binarki <code>node7</code> i <code>npm7</code> |
− | * 4. | + | * v6.9.4 - binarki <code>node6</code> i <code>npm6</code> |
− | * | + | * v4.8.2 (domyślna) - binarki <code>node</code> i <code>npm</code> |
+ | * v0.12.18 - binarki <code>node012</code> i <code>npm012</code>. | ||
+ | |||
+ | {{Warning|1= Na styczeń-luty 2017 planowane jest zakończenie wsparcia dla Node.js v0.12.X, nadal będzie można używać tej wersji ale skompilowanej lokalnie na koncie użytkownika.}} | ||
=== Projekt Node.js=== | === Projekt Node.js=== | ||
Linia 64: | Linia 67: | ||
* Dopisanie zmiennych do ~/.profile (np. export TESTENV=1). | * Dopisanie zmiennych do ~/.profile (np. export TESTENV=1). | ||
* Ważne: zmienne nie działają z ~/.bashrc i ~/.shrc | * Ważne: zmienne nie działają z ~/.bashrc i ~/.shrc | ||
+ | |||
+ | === Logi === | ||
+ | |||
+ | Istnieje możliwość [[Logi#Error_log_Ruby.2C_Python.2C_Nodejs|logowania]] następujących zdarzeń: | ||
+ | * zapisy na stdout, | ||
+ | * zapisy na stderr, | ||
=== Odnośniki zewnętrzne === | === Odnośniki zewnętrzne === |
Wersja z 10:53, 21 lip 2017
Node.js to otwarte, wieloplatformowe środowisko programistyczne.
Spis treści
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 ze wskazaniem typu Node.js.
Wersje Node.js
Na serwerach MyDevil udostępniamy 4 wersje Node:
- v7.9.0 - binarki
node7
inpm7
- v6.9.4 - binarki
node6
inpm6
- v4.8.2 (domyślna) - binarki
node
inpm
- v0.12.18 - binarki
node012
inpm012
.
Na styczeń-luty 2017 planowane jest zakończenie wsparcia dla Node.js v0.12.X, nadal będzie można używać tej wersji ale skompilowanej lokalnie na koncie użytkownika.
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/public/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 z nich skorzystać należy włączyć binexec.
Aby niektóre moduły npm skompilowały się poprawnie należy ustawić następujące zmienne:
export C=clang export CXX=clang++
a w przypadku błędu należy sprawdzić:
export CC=gcc48 export CXX=g++48
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 Node.js 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.
Zmienne
Ustawianie zmiennej z poziomu SSH z widocznością dla aplikacji uruchamianej przez Passengera:
- Dopisanie zmiennych do ~/.profile (np. export TESTENV=1).
- Ważne: zmienne nie działają z ~/.bashrc i ~/.shrc
Logi
Istnieje możliwość logowania następujących zdarzeń:
- zapisy na stdout,
- zapisy na stderr,