2014-10-19 12 views
5

Uygulamamı uzak ubuntu sunucusuna dağıtmak için http-server ve forever.js kullanmak istiyorum. Ancak forever.js, yürütülebilir dosyaya değil, JS dosyasına giden bir yol gerektirir. Bu yüzden anahtarları http sunucusuna aktaramıyorum. Şimdiye kadarki en iyi çözüm, http-server'ı npm aracılığıyla yerel olarak kurmak ve bu gibi bir şey çalıştırmaktır: forever start ./node_modules/http-server/bin/http-server. Ama bu durumda port ve diğer seçenekleri ayarlayamıyorum. En iyi uygulama nedir?Düğüm uygulamasını http-sunucu ve sonsuza dek dağıtın

cevap

8

Aynı sorunu yaşadım. Kabuk komutlarını çalıştırabilen ve seçeneklerle birlikte http-sunucu komutunu çalıştırmak için kullanılan bir node.js script bulundu. adlı node.js script

örnek '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); 

Sonra sonsuza kullanarak çalıştırabilirsiniz:

forever start startserver.js 
15

O kodu kullanarak seçenekleri ayarlayabilirsiniz. Komutunuzun bitiminden sonra sadece available flags kullanın. Örneğin:

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

Bu benim çalıştı

Eğer

"/ usr/bin/http-sunucu" alacak örneğin bu

which http-server 

gibi http-sunucu İlk olsun yolu

sonsuza dek http-sunucu yolu izledi ve uygulama yolunu yazmak sonra sonra

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

Saygılarımızla.

0

Dosyalarınızı içeren dizininize göz atın Ve komut satırı türünde forever start -c http-server. -p your_port_number Örnek: sonsuza kadar bu şekilde 8000

, liman 8000 sonsuza Dizininizde html dosyalarına işaret eder -p http-sunucu -c başlatın.

0

bu deneyin:

forever start $(which http-server)

+0

Bu soruya bir cevap sağlamaz. Yeterli [itibara] sahip olduğunuz zaman (https://stackoverflow.com/help/whats-reputation) herhangi bir gönderiye yorum yapabilirsiniz (https://stackoverflow.com/help/privileges/comment); bunun yerine, [askerden açıklama istemeyen cevaplar verin] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-yerine). - [Yorum Yaz] (/ review/düşük kaliteli yazılar/17850413) – Styx

İlgili konular