2014-10-19 6 views
5

मैं अपने ऐप को रिमोट ubuntu सर्वर पर तैनात करने के लिए http-server और forever.js का उपयोग करना चाहता हूं। लेकिन forever.js को जेएस फ़ाइल के पथ की आवश्यकता होती है, निष्पादन योग्य नहीं। इसलिए मैं http-server पर कुंजी पास नहीं कर सकता। अब तक का सबसे अच्छा समाधान http-server को स्थानीय रूप से एनपीएम के माध्यम से स्थापित करना है और इस तरह कुछ चलाएं: forever start ./node_modules/http-server/bin/http-server। लेकिन इस मामले में मैं बंदरगाह और अन्य विकल्प सेट नहीं कर सकता। सबसे अच्छा अभ्यास क्या है?http-server के साथ नोड ऐप को तैनात करें और हमेशा के लिए

उत्तर

8

मुझे एक ही समस्या थी। एक node.js script मिला जो खोल कमांड चला सकता है और विकल्पों के साथ http-server कमांड चलाने के लिए इसका इस्तेमाल करता है। नामित Node.js स्क्रिप्ट के

उदाहरण 'startserver.js':

var sys = require('sys') 
var exec = require('child_process').exec; 
function puts(error, stdout, stderr) { sys.puts(stdout) } 
exec("sudo http-server -a ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com -p 80", puts); 

तो फिर तुम इसे हमेशा के लिए का उपयोग कर चला सकते हैं:

forever start startserver.js 
15

आपको लगता है कि कोड का उपयोग कर विकल्प सेट कर सकते हैं। अपने आदेश के अंत के बाद बस available flags का उपयोग करें। उदाहरण के लिए:

forever start ./node_modules/http-server/bin/http-server -p 80 -d false 
3

यह मैं के साथ काम किया

इस

which http-server 
उदाहरण आपको मिल जाएगा "/ usr/bin/http-सर्वर"

के लिए

तरह http सर्वर सबसे पहले प्राप्त पथ

उसके बाद हमेशा के बाद http-server पथ और आपका ऐप पथ

forever start /usr/bin/http-server /your/app/path 

सबसे अच्छा संबंध है।

0

अपनी निर्देशिका में ब्राउज़ करें जिसमें आपकी फ़ाइलें और कमांड लाइन प्रकार से: हमेशा के लिए http-server प्रारंभ करें। -p your_port_number उदाहरण: हमेशा के लिए शुरू -c http-server -p 8000

इस प्रकार, पोर्ट 8000 हमेशा आपकी निर्देशिका में HTML फ़ाइलों को इंगित करेगा।

0

इस प्रयास करें:

forever start $(which http-server)

+0

इस प्रश्न का उत्तर प्रदान नहीं करता है। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (https://stackoverflow.com/help/whats-reputation) हो जाने पर आप [किसी भी पोस्ट पर टिप्पणी कर सकेंगे] (https://stackoverflow.com/help/privileges/comment); इसके बजाय, [उन उत्तरों को प्रदान करें जिन्हें पूछताछ से स्पष्टीकरण की आवश्यकता नहीं है] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-कर-बजाय)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/17850413) – Styx

संबंधित मुद्दे