Node.js: Różnice pomiędzy wersjami
(→Moduły Node.js) |
|||
Linia 51: | Linia 51: | ||
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ć 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>. | ||
+ | |||
=== Odnośniki zewnętrzne === | === Odnośniki zewnętrzne === |
Wersja z 13:57, 21 paź 2015
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 z wskazaniem typu Node.js.
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 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 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.
Własna wersja Node.js
Aby zainstalować własną wersję Node.js należy pobrać źródła, zaaplikować 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
wget https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz
. - Wypakować źródła
tar -zxf node-v0.12.7.tar.gz
. - Przejść do katalogu ze źródłami
cd node-v0.12.7
. - Ściągnąć patche:
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"
,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"
.
- Zaaplikować patche:
-
patch -p0 < patch-deps_v8_src_base_platform_platform-freebsd.cc
, -
patch -p0 < patch-deps_v8_src_base_platform_platform-posix.cc
.
-
- Skonfigurować:
./configure --prefix=$HOME/nodejs0.12.7
. - Skompilować:
gmake && gmake install
.