Web Sunucuları
Node.JS
Pi'de web sunucusu değişimi olarak kullanılabilir ve tek başına veya Tek Sayfa web uygulamalarını kolayca oluşturabilirsiniz.
Ancak sadece bilginiz için, çoğu gerçek dünya uygulamasında modern nginx
, hafif lighttpd
veya tıknaz ama tam özellikli sunucuları kullanmanız önerilir apache2
! Ve sonra siteyi tamamlamak için node.js komut dosyasını yazın.
Açıkçası olasılıklar sonsuzdur ve her şey ne elde etmek istediğinize bağlıdır.
Raspberry Pi?
Raspberry Pi bu web sunucularından herhangi birini çalıştırabilir. Ayrıca Node'yi ciddi bir komplikasyon olmadan da çalıştırabilir ve karmaşık bir tweaking olmadan gerçekten hızlıdır.
Raspberry Pi çok yeteneklidir, ancak en iyisi bellek bölünmesini en az grafik ve RAM'e çevirmektir . Bir IDE kullanmayı unutun ve her şeyi SSH ile yapın. Gerçekten daha fazla meyve suyuna ihtiyacınız varsa, BCM çipine bir soğutucu koyun ve kendinizi güvende hissettiğiniz için overclock yapın . Başka bir seçenek, yük dengelemeye yardımcı olmak için birden fazla Pi'yi küme olarak kullanmak olacaktır. Kümeleme hakkında buralarda araştırmaya başlayabilirsiniz.
Ama gerçekten node.js'yi kullanmanız gerekiyor mu?
Node.JS
küçük veri yığınlarının DB'de depolanmasını, önbelleğe alınmasını veya minimum sunucu yükü ile yeniden okunmasını gerektiren yüzlerce ve binlerce istek almaya başladığınızda (veya beklediğinizde) kullanılması amaçlanmıştır. Yani istemcide JS kullanarak sürücü ama Node.JS
aslında C / C ++ tarafından tahrik edilir. Peki, özel modüle veya temel kodda belirli bir değişikliğe ihtiyacınız varsa ne olur?
Web sayfalarını sunan bir uygulamada node.js genellikle tekli isteklerde apache'den daha iyi performans göstermez. Günün çoğunda saniyede binlerce isteğiniz varsa node.js'nin engelleme yapma özelliği mükemmeldir, burası apache'nin engelleneceği ve çökeceği yerdir.
Gerçek bir dünya örneği
Ebay - Açık artırma sırasında son 30 saniyenin geri sayımını yaptığınızda. Sayfayı güçlü bir şekilde yenilemek ve teklifleri artırmak için kullanılan birkaç kişiye sahip olabilirsiniz. Burası node.js'nin parladığı yerdir, çünkü bugün daha fazla yenilemenize gerek yoktur. Bunun nedeni JS'nin tüm istemcilerden sık sık node.js'ye (300ms ~ 600ms) ajaxes olması ve "gerçek bir açık artırma" deneyimi sunabilmesidir. Ebay yalnızca node.js'den değil, çok karmaşık yük dengeli sunucu çiftliklerinde çalışır.
Pi * üzerine Node.js oluşturmak ve kurmak için:
Açıkçası, diğerleri yerine node.js kullanmak ve Pi gibi düzgün küçük bir cihazda değilse, düğümü öğrenmek için en iyi şey yoktur. Böylece kodu kendiniz bu şekilde derleyebilirsiniz.
$ 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)
güncelleme: düğümün sonraki sürümleri (geçerli sürüm v0.8.18) aşağıdaki özel adımlar olmadan oluşturulabilir
sonra derleyiciye armv6
derleme için mimariyi kullanmasını söylemeliyiz :
$ 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'],
},
Daha sonra vfp3 ve simülatör parçalarını çıkarmak için 157 işaretinden başlayan satırları yorumlayın. Bu JSON benzeri bir nesne olduğundan, CPPDEFINES
hatta virgül kaldırmayı unutmayın !
'armeabi:softfp' : {
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0']
# 'vfp3:on': {
# 'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
# },
# 'simulator:none': {
# 'CCFLAGS': ['-mfloat-abi=softfp'],
# }
},
Sonra her zaman yapılandırmak, yapmak, yapmak yükleme işlemi, NB Ben OpenSSL libpath konumunu el ile belirtmek zorunda kaldı:
$ ./configure --openssl-libpath=/usr/lib/ssl
$ make (to compile node (This took 103 minutes!))
$ sudo make install
Bu, şimdi çalışan bir Düğüm.JS yüklemeniz gerekir!
$ node -v should show you the version number
$ npm -v should show you the version of the Node Package Manager
* Kaynaklar ve orijinal makale
Ancak diğer cevaplarda belirtildiği gibi, sadece çalışacak olan önceden derlenmiş bir ikili dosyayı indirebilirsiniz.
Sonuçlar
İyi bir Pi parçası fena değil. Pi'de hemen hemen her şeyi çalıştırabilirsiniz. Sadece üretim düzeyinde performans beklemeyin.