Máy chủ web
Node.JS
có thể được sử dụng như một sự thay thế máy chủ web trên Pi và bạn có thể tạo các ứng dụng web độc lập hoặc một trang một cách dễ dàng.
Nhưng chỉ với thông tin của bạn, trong hầu hết các ứng dụng trong thế giới thực, nên sử dụng các máy chủ như hiện đại nginx
, trọng lượng nhẹ lighttpd
hoặc chunky nhưng đầy đủ tính năng apache2
! Và sau đó tập lệnh node.js để bổ sung cho trang web.
Rõ ràng khả năng là vô tận và mọi thứ phụ thuộc vào những gì bạn muốn đạt được.
Quả mâm xôi Pi?
Raspberry Pi có thể chạy bất kỳ máy chủ web nào. Nó cũng có thể chạy Node mà không có bất kỳ biến chứng nghiêm trọng nào và thực sự nhanh mà không cần chỉnh sửa phức tạp.
Raspberry Pi rất có khả năng nhưng tốt nhất sẽ là phân chia bộ nhớ thành đồ họa ít nhất và hầu hết RAM. Hãy quên việc sử dụng IDE và chỉ cần làm mọi thứ thông qua SSH. Nếu bạn thực sự cần thêm một ít nước trái cây thì hãy đặt một bộ tản nhiệt trên chip BCM và ép xung nó khi bạn cảm thấy an toàn. Một tùy chọn khác là sử dụng nhiều Pi như một cụm để giúp cân bằng tải. Bạn có thể bắt đầu đào xung quanh đây về phân cụm.
Nhưng bạn có thực sự cần sử dụng node.js không?
Node.JS
được dự định sẽ được sử dụng khi bạn bắt đầu (hoặc dự đoán) để nhận được hàng trăm và hàng nghìn yêu cầu yêu cầu khối dữ liệu nhỏ được lưu trữ vào DB, được lưu trong bộ nhớ cache hoặc đọc lại với chi phí máy chủ tối thiểu. Vì vậy, bạn lái nó bằng cách sử dụng JS trên máy khách nhưng Node.JS
thực sự được điều khiển bởi C / C ++. Vậy điều gì xảy ra nếu bạn cần mô-đun tùy chỉnh hoặc thay đổi cụ thể trong mã cơ sở?
Trong một ứng dụng phục vụ các trang web node.js thường không vượt trội hơn apache, ví dụ, trên các yêu cầu duy nhất. Tính năng không chặn của node.js là tuyệt vời nếu bạn có hàng ngàn yêu cầu mỗi giây trong hầu hết thời gian trong ngày, đây là lúc apache sẽ chặn và sụp đổ.
Một ví dụ thực tế
Ebay - Trong một cuộc đấu giá khi bạn đếm ngược trong 30 giây qua. Bạn có thể có một vài người được sử dụng để làm mới trang mạnh mẽ và tăng giá thầu. Đây là nơi node.js tỏa sáng, vì hôm nay bạn không cần làm mới nữa. Đó là bởi vì JS thường xuyên chuyển sang node.js (300ms ~ 600ms) từ tất cả các máy khách và có thể cung cấp trải nghiệm "đấu giá ngoài đời thực". Ebay không chỉ chạy trên node.js mà trên các trang trại máy chủ cân bằng tải rất phức tạp.
Để xây dựng và cài đặt Node.js trên Pi *:
Rõ ràng không có gì sai khi sử dụng node.js thay vì người khác và cách tốt nhất để tìm hiểu nút nếu không phải trên một thiết bị nhỏ gọn như Pi. Vì vậy, bạn có thể tự biên dịch mã như thế này.
$ 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)
cập nhật: các phiên bản mới hơn của nút (phiên bản hiện tại là v0.8.18) có thể được xây dựng mà không cần các bước đặc biệt dưới đây
tiếp theo chúng ta cần báo cho trình biên dịch sử dụng armv6
kiến trúc để biên dịch:
$ 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'],
},
Sau đó nhận xét các dòng bắt đầu xung quanh dấu 157, để xóa vfp3 và các phần giả lập. Vì đây là một đối tượng giống như JSON, hãy nhớ xóa dấu phẩy trên CPPDEFINES
dòng!
'armeabi:softfp' : {
'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0']
# 'vfp3:on': {
# 'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
# },
# 'simulator:none': {
# 'CCFLAGS': ['-mfloat-abi=softfp'],
# }
},
Sau đó, cấu hình thông thường, tạo, thực hiện quá trình cài đặt, NB Tôi phải chỉ định thủ công vị trí của libpath OpenSSL:
$ ./configure --openssl-libpath=/usr/lib/ssl
$ make (to compile node (This took 103 minutes!))
$ sudo make install
Đó là, bây giờ bạn sẽ có một cài đặt Node.JS hoạt động!
$ node -v should show you the version number
$ npm -v should show you the version of the Node Package Manager
* Tài liệu tham khảo và bài viết gốc
Nhưng như đã chỉ ra trong các câu trả lời khác, bạn có thể chỉ cần tải xuống tệp nhị phân được biên dịch sẵn sẽ hoạt động.
Kết luận
Một mảnh tốt của Pi không phải là xấu. Bạn có thể chạy bất cứ thứ gì trên Pi- Chỉ không mong đợi hiệu suất ở mức sản xuất.