Веб-сервери
Node.JS
можна використовувати як заміну веб-сервера на Pi, і ви можете легко створювати окремі веб-програми або веб-додатки на одній сторінці.
Але тільки для вашої інформації в більшості реальних програм рекомендується використовувати такі сервери, як сучасний nginx
, легкий lighttpd
або приємний, але повнофункціональний apache2
! А потім скрипт node.js для доповнення сайту.
Очевидно, що можливості нескінченні, і все залежить від того, що ви хотіли б досягти.
Малина Пі?
Raspberry Pi може запускати будь-який із цих веб-серверів. Він також може запустити Node без будь-яких серйозних ускладнень і справді швидко, без складних налаштувань.
Raspberry Pi дуже здатний, але найкраще було б перетворити розділену пам'ять на мінімум графіки та більшості оперативної пам’яті. Забудьте про використання IDE і просто зробіть все через SSH. Якщо вам справді потрібен ще трохи соку, тоді поставте радіатор на мікросхему BCM і розігнайте його, коли ви відчуваєте себе в безпеці. Іншим варіантом було б використання декількох Pi в якості кластера, щоб допомогти з балансуванням навантаження. Ви можете почати копати тут про кластеризацію.
Але чи справді вам потрібно використовувати node.js?
Node.JS
призначений для використання при запуску (або передбаченні) отримання сотень і тисяч запитів, для яких потрібні невеликі шматки даних для зберігання в БД, кешування або зчитування з мінімальними накладними витратами на сервері. Таким чином, ви керуєте ним за допомогою JS на клієнті, але Node.JS
насправді керує C / C ++. Що ж станеться, якщо вам потрібен спеціальний модуль або певна зміна базового коду?
У додатку, який обслуговує веб-сторінки, node.js зазвичай не випереджає апаш, наприклад, за окремими запитами. Неблокуюча функція node.js чудова, якщо ви маєте тисячі запитів за секунду протягом більшої частини дня, саме тут апаш буде блокувати та виходити з ладу.
Справжній приклад світу
Ebay - під час аукціону, коли у вас відлік останніх 30 секунд. У вас може бути кілька людей, які енергійно оновлювали сторінку та збільшували ставки. Тут світиться node.js, тому що сьогодні вам більше НЕ потрібно оновлюватись. Це тому, що JS дуже часто (300мс ~ 600мс) від усіх клієнтів відмовляється від node.js і може забезпечити досвід "реального аукціону". Ebay не працює виключно з node.js, але на дуже складних серверах, збалансованих навантаженням.
Щоб скласти та встановити Node.js на Pi *:
Очевидно, що немає нічого поганого в тому, щоб використовувати node.js замість інших, і як краще вивчити вузол, якщо не на акуратному маленькому пристрої, як Pi. Таким чином, ви можете самостійно скласти код.
$ sudo apt-get install git-core build-essential libssl-dev
$ mkdir ~/nodeDL && cd ~/nodeDL
$ git clone https://github.com/joyent/node.git
$ git checkout v0.6.15 (to checkout the most recent stable version at time of writing)
оновлення: пізніші версії вузла (поточна версія v0.8.18) можна побудувати без спеціальних кроків нижче
далі нам потрібно сказати компілятору використовувати armv6
архітектуру для компіляції:
$ export CCFLAGS='-march=armv6'
$ export CXXFLAGS='-march=armv6'
and then edit deps/v8/SConstruct around the line 82 mark, to add “-march=armv6”:
'all': {
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv6'],
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions', '-march=armv6'],
},
Потім прокоментуйте рядки, починаючи з позначки 157, щоб видалити частини vfp3 та симулятор. Оскільки це об’єкт, схожий на JSON, не забудьте видалити кому на CPPDEFINES
лінії!
'armeabi:softfp' : {
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0']
# 'vfp3:on': {
# 'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
# },
# 'simulator:none': {
# 'CCFLAGS': ['-mfloat-abi=softfp'],
# }
},
Тоді звичайне налаштування, виготовлення, здійснення процесу встановлення, NB мені довелося вручну вказати місце розташування OpenSSL libpath:
$ ./configure --openssl-libpath=/usr/lib/ssl
$ make (to compile node (This took 103 minutes!))
$ sudo make install
Це все, у вас зараз має бути встановлена робоча Node.JS!
$ node -v should show you the version number
$ npm -v should show you the version of the Node Package Manager
* Посилання та оригінальна стаття
Але як зазначено в інших відповідях, ви можете просто завантажити попередньо складений двійковий файл, який буде просто працювати.
Висновки
Гарний шматок Пі непоганий. На Pi-файлі ви можете працювати майже все, що завгодно, просто не сподівайтесь на продуктивність на рівні виробництва.