2014-10-19 79 views
5

我想使用http-server和forever.js將我的應用程序部署到遠程ubuntu服務器。但forever.js需要路徑到JS文件,而不是可執行文件。所以我無法將密鑰傳遞給http-server。目前最好的解決方案是通過npm在本地安裝http-server並運行如下所示的代碼:forever start ./node_modules/http-server/bin/http-server。但在這種情況下,我無法設置端口和其他選項。最佳做法是什麼?使用http-server部署節點應用程序並永遠使用

回答

8

我有同樣的問題。找到了一個node.js script,它可以運行shell命令並使用它來運行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服務器的第一個GET路徑

然後之後寫永遠跟着http服務器路徑和你的應用程序路徑

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

此致敬禮。

0

瀏覽到您的目錄,其中包含您的文件 並從命令行輸入: 永遠啓動-c 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-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17850413) – Styx 2017-11-06 09:20:59