साझा होस्टिंग में Node.Js एप्लिकेशन को कैसे होस्ट करें
मैं साझा होस्टिंग में नोड.जेएस एप्लिकेशन को होस्ट करना चाहता हूं। क्या किसी को संदर्भित करने के लिए कोई संदर्भ या प्रलेखन है?
साझा होस्टिंग में Node.Js एप्लिकेशन को कैसे होस्ट करें
मैं साझा होस्टिंग में नोड.जेएस एप्लिकेशन को होस्ट करना चाहता हूं। क्या किसी को संदर्भित करने के लिए कोई संदर्भ या प्रलेखन है?
जवाबों:
आप Linux, Apache और PHP (LAMP) के साथ एक विशिष्ट साझा होस्टिंग पर नोड.जेएस सर्वर चला सकते हैं। मैंने इसे सफलतापूर्वक स्थापित किया है, यहां तक कि एनपीएम, एक्सप्रेस और ग्रंट के साथ भी ठीक काम कर रहा है। उनके नक़्शे - कदम पर चलिए:
1) निम्नलिखित कोड के साथ सर्वर पर एक नई PHP फ़ाइल बनाएं और इसे चलाएं:
<?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) उसी तरह अपना नोड ऐप इंस्टॉल करें, जैसे कि jt-js-sample, npm का उपयोग करना:
<?php
exec('node/bin/npm install jt-js-sample');
3) 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);
देखा! PHP साझा होस्टिंग पर एक नोड एप्लिकेशन के डेमो पर एक नजर है ।
संपादित करें: मैंने GitHub पर एक Node.php परियोजना शुरू की ।
SSH के साथ कनेक्ट करें और साझा होस्टिंग पर नोड स्थापित करने के लिए इन निर्देशों का पालन करें
संक्षेप में आप पहले एनवीएम स्थापित करते हैं, फिर आप एनवीएम के साथ अपनी पसंद के नोड संस्करण को स्थापित करते हैं।
wget -qO- https://cdn.rawgit.com/creationix/nvm/master/install.sh | bash
आपका अपना शेल फिर से शुरू करें (अपने सत्रों को बंद करें और फिर से खोलें)। फिर आप
nvm install stable
उदाहरण के लिए नवीनतम स्थिर संस्करण स्थापित करने के लिए। आप अपनी पसंद के किसी भी संस्करण को स्थापित कर सकते हैं। node --version
आपके द्वारा वर्तमान में उपयोग किए जा रहे नोड संस्करण की जाँच करें और nvm list
यह देखने के लिए कि आपने क्या स्थापित किया है।
बोनस में आप बहुत आसानी से संस्करण स्विच कर सकते हैं ( nvm use <version>
)
यदि आपके पास SSH है, तो PHP या जो भी मुश्किल वर्कअराउंड की आवश्यकता नहीं है।
nvm:command not found
तो आप इसे चला सकते हैं: कमांडsource ~/.nvm/nvm.sh
मैंने उपयोग करते हुए bluehost.com (एक साझा सर्वर) पर Node.js स्थापित किया:
wget <path to download file>
tar -xf <gzip file>
mv <gzip_file_dir> node
यह टार फाइल डाउनलोड करेगा, एक डायरेक्टरी में एक्सट्रैक्ट करेगा और फिर उस डायरेक्टरी का नाम बदलकर 'नोड' कर देगा, जिससे इसे इस्तेमाल करना आसान हो जाएगा।
फिर
./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)
अब मैं कमांड का उपयोग कर सकता हूं:
# ~/node/bin/node -v
v0.12.4
# ~/node/bin/npm -v
2.10.1
सुरक्षा कारणों से, मैंने अपनी नोड निर्देशिका का नाम बदलकर कुछ और कर दिया है।
npm start
की jt-js-sample
और मैं mysite.com .000 पर गया, लेकिन इसने कहा कि पेज उपलब्ध नहीं है। क्या मुझे इसके बजाय आईपी पते पर जाने की आवश्यकता है?
A2 होस्टिंग अपने साझा होस्टिंग खातों पर नोड.जेएस की अनुमति देता है। मैं यह कह सकता हूं कि मुझे उनके साथ एक सकारात्मक अनुभव मिला है।
यहाँ उनके नॉलेजबेस में निर्देश हैं। Apache / LiteSpeed का उपयोग कर रिवर्स प्रॉक्सी के रूप में नोड स्थापित करने के लिए। https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed- होस्टिंग-खाते । कॉन्फ़िगरेशन सेट करने में लगभग 30 मिनट लगते हैं, और यह npm, Express, MySQL आदि के साथ काम करेगा।
A2hosting.com देखें।
आपको एक होस्टिंग कंपनी की तलाश करनी चाहिए जो इस तरह की सुविधा प्रदान करती है, लेकिन मानक सरल स्थिर + PHP + MySQL होस्टिंग आपको नोड का उपयोग नहीं करने देगी।
आपको या तो नोड.जेएस के लिए डिज़ाइन किया गया एक होस्टिंग ढूंढना होगा या वर्चुअल प्राइवेट सर्वर खरीदना होगा और इसे स्वयं इंस्टॉल करना होगा।