Io.js: Różnice pomiędzy wersjami
m (9 wersji) |
|||
(Nie pokazano 5 wersji utworzonych przez 3 użytkowników) | |||
Linia 1: | Linia 1: | ||
''io.js'' to fork [[Node.js]], otwartego i wieloplatformowego środowiska programistycznego. | ''io.js'' to fork [[Node.js]], otwartego i wieloplatformowego środowiska programistycznego. | ||
− | {{Warning|Instalacja io.js nie jest kompatybilna z systemową wersją Node.js. Należy korzystać z | + | {{Warning|Instalacja io.js nie jest kompatybilna z systemową wersją Node.js. Należy korzystać z npm i node skompilowanych wraz z io.js.}} |
=== Instalacja === | === Instalacja === | ||
Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - [[Binexec]]. ''io.js'' należy zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia: | Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - [[Binexec]]. ''io.js'' należy zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia: | ||
− | wget <nowiki>https://iojs.org/dist/ | + | wget <nowiki>https://iojs.org/dist/v3.0.0/iojs-v3.0.0.tar.gz</nowiki> |
− | tar -zxvf iojs- | + | tar -zxvf iojs-v3.0.0.tar.gz |
− | cd iojs- | + | cd iojs-v3.0.0.tar.gz |
− | + | <!-- wget <nowiki>https://svnweb.freebsd.org/ports/head/www/iojs/files/patch-deps_v8_src_base_platform_platform.h?view=co patch-deps_v8_src_base_platform_platform.h</nowiki> | |
wget <nowiki>https://svnweb.freebsd.org/ports/head/www/iojs/files/patch-deps_v8_src_base_platform_platform-freebsd.cc?view=co patch-deps_v8_src_base_platform_platform-freebsd.cc</nowiki> | wget <nowiki>https://svnweb.freebsd.org/ports/head/www/iojs/files/patch-deps_v8_src_base_platform_platform-freebsd.cc?view=co patch-deps_v8_src_base_platform_platform-freebsd.cc</nowiki> | ||
patch -p0 < patch-deps_v8_src_base_platform_platform.h | patch -p0 < patch-deps_v8_src_base_platform_platform.h | ||
− | patch -p0 < patch-deps_v8_src_base_platform_platform-freebsd.cc | + | patch -p0 < patch-deps_v8_src_base_platform_platform-freebsd.cc --> |
export CC=clang | export CC=clang | ||
export CXX=clang++ | export CXX=clang++ | ||
Linia 18: | Linia 18: | ||
Następnie należy w <code class="directory">.bash_profile</code> dodać linijkę: | Następnie należy w <code class="directory">.bash_profile</code> dodać linijkę: | ||
− | <syntaxhighlight lang="bash">export PATH="$PATH:$HOME/iojs/ | + | <syntaxhighlight lang="bash">export PATH="$PATH:$HOME/iojs/bin/"</syntaxhighlight> |
− | |||
− | === | + | === Wstępna konfiguracja domeny === |
− | + | Przed uruchomieniem strony napisanej w ''io.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 [[WWW|strona WWW]] ze wskazaniem typu Node.js z plikiem wykonywalnym <code class="directory">/home/''login''/iojs/bin/iojs</code>. | ||
+ | |||
+ | === Projekt io.js=== | ||
+ | |||
+ | Głównym katalogiem projektu ''io.js'' (tj. katalog, w którym znajduje się plik <code class="directory">app.js</code>) musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs</code>. Należy również usunąć plik index.html poleceniem <code>rm /usr/home/''login''/domains/''domena''/public_nodejs/public/index.html</code> | ||
+ | |||
+ | === Moduły io.js === | ||
+ | |||
+ | Aby zainstalować wybrany moduł io.js należy skorzystać z polecenia <code>npm install ''nazwa_modułu''</code>. Moduły posiadające binarki zaleca się instalować w katalogu domowym. | ||
+ | |||
+ | {{Warning|Aby niektóre moduły npm skompilowały się poprawnie należy ustawić następujące zmienne: | ||
+ | <nowiki>export C=clang | ||
+ | export CXX=clang++</nowiki>}} | ||
+ | |||
+ | Aby móc korzystać z binarek dostarczonych z zainstalowanych modułów bez podawania do nich pełnej ścieżki należy w <code class="directory"> .bash_profile</code> dodać linijkę: | ||
+ | <syntaxhighlight lang="bash">export PATH="$PATH:$HOME/node_modules/.bin/"</syntaxhighlight> | ||
+ | |||
+ | ==== Przygotowanie aplikacji io.js ==== | ||
+ | |||
+ | Nowy projekt io.js należy utworzyć w katalogu <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs</code> - najprostszym sposobem utworzenia odpowiedniego projektu jest stworzenie pliku app.js: | ||
+ | |||
+ | <syntaxhighlight lang="javascript">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);</syntaxhighlight> | ||
+ | |||
+ | 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 io.js ==== | ||
+ | |||
+ | Istniejący projekt ''io.js'' należy umieścić jako katalog <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs</code>. W przypadku gdy projekt nie nazywa się <code class="directory">public_nodejs</code> należy zmienić jego nazwę. Należy również zmodyfikować plik app.js tak, aby wykonywał program. Zwykle poza odpowiednim require i ustawieniem listen() plik app.js nie potrzebuje zawierać więcej elementów. Trzeba również zainstalować brakujące poleceniem <code>npm install</code>. | ||
+ | |||
+ | === Restart aplikacji === | ||
+ | |||
+ | Restart aplikacji ''io.js'' można wykonać za pomocą naszego [[DevilWEB|panelu zarządzania usługą]] w zakładce [[WWW]], lub przy użyciu polecenia [[Devil|systemu zarządzania kontem Devil]]: <code>devil www restart ''domena''</code>. | ||
+ | |||
+ | === Pliki statyczne === | ||
+ | |||
+ | 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. | ||
+ | |||
+ | === Odnośniki zewnętrzne === | ||
+ | |||
+ | * [https://iojs.org/en/index.html io.js] | ||
+ | * [https://www.phusionpassenger.com/ Phusion Passenger] | ||
[[Kategoria:Node.js]] | [[Kategoria:Node.js]] | ||
[[Kategoria:Poradniki]] | [[Kategoria:Poradniki]] |
Aktualna wersja na dzień 11:01, 19 maj 2017
io.js to fork Node.js, otwartego i wieloplatformowego środowiska programistycznego.
Instalacja io.js nie jest kompatybilna z systemową wersją Node.js. Należy korzystać z npm i node skompilowanych wraz z io.js.
Spis treści
Instalacja
Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - Binexec. io.js należy zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia:
wget https://iojs.org/dist/v3.0.0/iojs-v3.0.0.tar.gz tar -zxvf iojs-v3.0.0.tar.gz cd iojs-v3.0.0.tar.gz export CC=clang export CXX=clang++ ./configure --prefix=/home/login/iojs && make && make install
Następnie należy w .bash_profile
dodać linijkę:
export PATH="$PATH:$HOME/iojs/bin/"
Wstępna konfiguracja domeny
Przed uruchomieniem strony napisanej w io.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 z plikiem wykonywalnym
/home/login/iojs/bin/iojs
.
Projekt io.js
Głównym katalogiem projektu io.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 io.js
Aby zainstalować wybrany moduł io.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++
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 io.js
Nowy projekt io.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 io.js
Istniejący projekt io.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ł program. 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 io.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.