Cách lưu trữ ứng dụng Node.Js trong một máy chủ được chia sẻ
Tôi muốn lưu trữ một ứng dụng node.js trong lưu trữ được chia sẻ. Có ai có bất kỳ tài liệu tham khảo hoặc tài liệu để tham khảo?
Cách lưu trữ ứng dụng Node.Js trong một máy chủ được chia sẻ
Tôi muốn lưu trữ một ứng dụng node.js trong lưu trữ được chia sẻ. Có ai có bất kỳ tài liệu tham khảo hoặc tài liệu để tham khảo?
Câu trả lời:
Bạn có thể chạy máy chủ node.js trên một máy chủ được chia sẻ thông thường với Linux, Apache và PHP (LAMP). Tôi đã cài đặt thành công nó, ngay cả với NPM, Express và Grunt vẫn hoạt động tốt. Làm theo các bước:
1) Tạo một tệp PHP mới trên máy chủ với mã sau và chạy nó:
<?php
//Download and extract the latest node
exec('curl http://nodejs.org/dist/latest/node-v0.10.33-linux-x86.tar.gz | tar xz');
//Rename the folder for simplicity
exec('mv node-v0.10.33-linux-x86 node');
2) Cùng một cách cài đặt ứng dụng nút của bạn, ví dụ: jt-js-sample, sử dụng npm:
<?php
exec('node/bin/npm install jt-js-sample');
3) Chạy ứng dụng nút từ PHP:
<?php
//Choose JS file to run
$file = 'node_modules/jt-js-sample/index.js';
//Spawn node server in the background and return its pid
$pid = exec('PORT=49999 node/bin/node ' . $file . ' >/dev/null 2>&1 & echo $!');
//Wait for node to start up
usleep(500000);
//Connect to node server using cURL
$curl = curl_init('http://127.0.0.1:49999/');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//Get the full response
$resp = curl_exec($curl);
if($resp === false) {
//If couldn't connect, try increasing usleep
echo 'Error: ' . curl_error($curl);
} else {
//Split response headers and body
list($head, $body) = explode("\r\n\r\n", $resp, 2);
$headarr = explode("\n", $head);
//Print headers
foreach($headarr as $headval) {
header($headval);
}
//Print body
echo $body;
}
//Close connection
curl_close($curl);
//Close node server
exec('kill ' . $pid);
Thì đấy! Hãy xem bản demo của một ứng dụng nút trên lưu trữ chia sẻ PHP .
CHỈNH SỬA: Tôi đã bắt đầu một dự án Node.php trên GitHub .
Kết nối với SSH và làm theo các hướng dẫn sau để cài đặt Node trên một máy chủ được chia sẻ
Tóm lại, trước tiên bạn cài đặt NVM, sau đó bạn cài đặt phiên bản Node mà bạn chọn với NVM.
wget -qO- https://cdn.rawgit.com/creationix/nvm/master/install.sh | bash
Khởi động lại trình bao của bạn (đóng và mở lại các phiên của bạn). Sau đó bạn
nvm install stable
để cài đặt phiên bản ổn định mới nhất chẳng hạn. Bạn có thể cài đặt bất kỳ phiên bản nào mà bạn chọn. Kiểm tra node --version
phiên bản nút bạn hiện đang sử dụng và nvm list
để xem bạn đã cài đặt những gì.
Ngoài ra, bạn có thể chuyển đổi phiên bản rất dễ dàng ( nvm use <version>
)
Không cần PHP hoặc bất kỳ giải pháp phức tạp nào nếu bạn có SSH.
nvm:command not found
bạn có thể chạy này: lệnhsource ~/.nvm/nvm.sh
Tôi đã cài đặt Node.js trên bluehost.com (một máy chủ được chia sẻ) bằng cách sử dụng:
wget <path to download file>
tar -xf <gzip file>
mv <gzip_file_dir> node
Thao tác này sẽ tải xuống tệp tar, giải nén vào một thư mục và sau đó đổi tên thư mục đó thành tên 'nút' để dễ sử dụng hơn.
sau đó
./node/bin/npm install jt-js-sample
Returns:
npm WARN engine jt-js-sample@0.2.4: wanted: {"node":"0.10.x"} (current: {"node":"0.12.4","npm":"2.10.1"})
jt-js-sample@0.2.4 node_modules/jt-js-sample
└── express@4.12.4 (merge-descriptors@1.0.0, utils-merge@1.0.0, cookie-signature@1.0.6, methods@1.1.1, cookie@0.1.2, fresh@0.2.4, escape-html@1.0.1, range-parser@1.0.2, finalhandler@0.3.6, content-type@1.0.1, vary@1.0.0, parseurl@1.3.0, serve-static@1.9.3, content-disposition@0.5.0, path-to-regexp@0.1.3, depd@1.0.1, qs@2.4.2, on-finished@2.2.1, debug@2.2.0, etag@1.6.0, proxy-addr@1.0.8, send@0.12.3, type-is@1.6.2, accepts@1.2.7)
Bây giờ tôi có thể sử dụng các lệnh:
# ~/node/bin/node -v
v0.12.4
# ~/node/bin/npm -v
2.10.1
Vì lý do bảo mật, tôi đã đổi tên thư mục nút của mình thành một thứ khác.
npm start
trong jt-js-sample
và tôi đã truy cập vào mysite.com:5000 nhưng nó cho biết trang không khả dụng. Tôi có cần chuyển đến địa chỉ IP không?
A2 Hosting cho phép node.js trên các tài khoản lưu trữ được chia sẻ của họ. Tôi có thể đảm bảo rằng tôi đã có một trải nghiệm tích cực với chúng.
Dưới đây là hướng dẫn trong KnowledgeBase của họ để cài đặt node.js bằng Apache / LiteSpeed làm proxy ngược: https://www.a2hosting.com/kb/installable-application/manual-installations/installing-node-js-on-managed- tài khoản lưu trữ . Mất khoảng 30 phút để thiết lập cấu hình và nó sẽ hoạt động với npm, Express, MySQL, v.v.
Xem a2hosting.com.
Bạn nên tìm một công ty lưu trữ cung cấp tính năng như vậy, nhưng lưu trữ tĩnh + PHP + MySQL đơn giản tiêu chuẩn sẽ không cho phép bạn sử dụng node.js.
Bạn cần tìm một máy chủ được thiết kế cho node.js hoặc mua Máy chủ riêng ảo và tự cài đặt.