2011-01-04 33 views
5

Ngăn triển khai node.js tốt nhất là gì? Tôi sẽ sử dụng Nginx giao tiếp với node.js trên fugue thông qua các gói unix domain socket + mongodb + NPM được cài đặt trong nhà người dùng. Có cái gì tốt hơn?Ngăn triển khai Node.js

Nhân tiện, nút không nên có thứ gì đó như giá đỡ, có thể xử lý cấu hình máy chủ và bắt đầu nghe trên cổng hoặc ổ cắm sẽ bị phần mềm máy chủ buộc phải không? Bây giờ tôi làm điên server.listen chức năng hi-jacking để có được máy chủ và khởi động nó bằng fugue. Bạn có một số kinh nghiệm về thực hiện triển khai nút thả không?

Trả lời

0

Hầu hết các triển khai Node.js tôi đã thấy phân phối trực tiếp từ chính mã javascript bằng cách sử dụng http.createServer. Nói cách khác, hầu hết các kịch bản lệnh node.js mà tôi đã thấy là các máy chủ web thay vì chỉ các ứng dụng web. Một số khung công tác viết cho loại Node.js giả định điều này.

Đó là một phần của toàn bộ điểm của Node.js - phân phối nội dung của bạn bằng máy chủ không chặn, đơn luồng, hướng sự kiện.

1

Tuyên bố từ chối trách nhiệm: Không phải chuyên gia về nút

Tôi tin rằng Kết nối được coi là Tương tự giá.

Lưu ý rằng hỗ trợ SSL trong Node, theo người sáng tạo, phần lớn bị hỏng và tiến độ công việc, vì vậy nếu ứng dụng của bạn cần hỗ trợ SSL - và ứng dụng chuyên nghiệp nào không? - bạn cần để chạy Node hợp tác với một thành phần khác, thường là nginx AFAIK.

Tôi khuyên bạn nên xem danh sách gửi thư cho những phát triển trong lĩnh vực này và thông tin về các cấu hình phổ biến.

+0

hôm qua Ryan Dahl twitted về api https mới trong https nút: // ý chính .github.com/764213 –

+1

"Kết nối là lớp trung gian dành cho Nút.js "vs" Rack cung cấp một giao diện tối thiểu giữa các máy chủ web hỗ trợ các khung công tác Ruby và Ruby ". Kết nối không cung cấp quy ước khởi chạy bằng phần mềm máy chủ. Trong bài viết về Kết nối trên Ajaxian (http://ajaxian.com/archives/connect-great -middleware-for-node) mà họ đã viết: module.exports = new Connect.Server ([...]), nó có thể là IMO hội nghị tốt –

+0

Đúng, đó là những gì API sẽ có. Phát triển nút, bao gồm SSL/TLS hỗ trợ, vẫn còn trong giai đoạn đầu và rất dễ bay hơi - sẽ mất một thời gian dài để mã cơ sở ổn định (bản phát hành ổn định được đánh số chẵn và phát triển hiện tại là Phiên bản 3). –

2

Có một vài dự án đang được xây dựng nhằm giải quyết vấn đề này:

forevercluster (video intro for cluster) là cả hai giải pháp khá tốt. Tôi đã nhận thấy sự khác biệt nhỏ trong cả hai khi tôi thử chúng - có nghĩa là chúng có thể không còn gặp sự cố nữa.

Có 2 điều chính bạn cần phải xem xét khi lựa chọn một triển khai:

  1. daemonizing ứng dụng nút
  2. khởi động lại ứng dụng nút nếu nó bị treo

bạn cũng có thể muốn xem xét ghi nhật ký, các tính năng của dòng lệnh và bảo mật. Bạn cũng có thể viết kịch bản thực thi của riêng mình sử dụng nohup.

Một điều cuối cùng mà tôi không biết cách giải quyết: bảo mật. Cuối cùng tôi đã kiểm tra bạn không thể thực sự sử dụng SSL một cách ổn định trừ khi bạn sử dụng một cái gì đó như nginx, và tôi không biết về lỗ hổng bảo mật trong nút hoặc.

0

để cài đặt thêm bản mẫu, bạn có thể thử ngăn xếp trung bình. Tôi đã có trải nghiệm tốt với express (http://expressjs.com) và mongo (http://mongodb.com). đây là một trang với một cài đặt hướng dẫn nhanh cho chồng có nghĩa là: http://mean.io

tất nhiên bạn chỉ có thể sử dụng mãi mãi hoặc mới nổi như đã đề cập ở trên: http://jacobmumm.com/2011/08/29/node-as-a-service-in-ubuntu-11-04-with-upstart-monit-and-forever-js/

Các vấn đề liên quan