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

(Utworzono nową stronę "''io.js'' to fork Node.js, otwartego i wieloplatformowego środowiska programistycznego. {{Warning|To jest rozwiązanie testowe i może nie działać stabilnie.}}...")
 
m (9 wersji)
 
(Nie pokazano 8 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|To jest rozwiązanie testowe i może nie działać stabilnie.}}
+
{{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]].
+
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/v3.0.0/iojs-v3.0.0.tar.gz</nowiki>
''io.js'' należy zainstalować ze źródeł. Aby to zrobić należy wykonać następujące polecenia:
+
  tar -zxvf iojs-v3.0.0.tar.gz
  wget <nowiki>https://iojs.org/dist/v2.2.1/iojs-v2.2.1.tar.gz</nowiki>
+
  cd iojs-v3.0.0.tar.gz
  tar -zxvf iojs-v2.2.1.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>
  cd iojs-v2.2.1
 
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++
 
  ./configure --prefix=/home/''login''/iojs && make && make install
 
  ./configure --prefix=/home/''login''/iojs && make && make install
  
Aby móc korzystać z binarek dostarczonych od iojz bez podawania do nich pełnej ścieżki 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/bin/"</syntaxhighlight>
 
<syntaxhighlight lang="bash">export PATH="$PATH:$HOME/iojs/bin/"</syntaxhighlight>
  
=== Konfiguracja strony ===
+
=== 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]
  
Aby móc korzystać z ''io.js'' należy dodać [[WWW| stronę WWW]] typu Node.js, gdzie zamiast pliku wykonywalnego Node.js należy podać plik znajdujący się w <code class="directory">/home/''login''/iojs/bin/iojs</code>.
 
 
[[Kategoria:Node.js]]
 
[[Kategoria:Node.js]]
 +
[[Kategoria:Poradniki]]

Aktualna wersja na dzień 11:01, 19 maj 2017

io.js to fork Node.js, otwartego i wieloplatformowego środowiska programistycznego.

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 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.

Odnośniki zewnętrzne