使用http-server永久部署节点应用程序

时间:2014-10-19 23:39:03

标签: node.js ubuntu daemon httpserver

我想使用http-server和forever.js将我的应用程序部署到远程ubuntu服务器。但forever.js需要JS文件的路径,而不是可执行文件。所以我无法将密钥传递给http-server。到目前为止,最好的解决方案是通过npm在本地安装http-server并运行如下:forever start ./node_modules/http-server/bin/http-server。但在这种情况下,我无法设置端口和其他选项。什么是最佳做法?

6 个答案:

答案 0 :(得分:16)

您可以使用该代码设置选项。只需在命令结束后使用available flags即可。例如:

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

答案 1 :(得分:9)

我有同样的问题。找到一个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

答案 2 :(得分:4)

这对我有用

首先获取http-server的路径

which http-server
例如,您将获得" / usr / bin / http-server"

然后写下永远跟着http-server路径和你的app路径

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

最好的问候。

答案 3 :(得分:2)

试试这个:

$ forever start $(which http-server) -p 8000 -d false

您可以在forever start $(which http-server)

之后添加任何参数

$(which http-server):返回http-server路径
-p 8000:端口8000,将其更改为任何端口号
-d:显示目录列表

答案 4 :(得分:1)

浏览到包含文件的目录 并从命令行类型: 永远启动-c http-server。 -p your_port_number 例: 永远开始-c http-server -p 8000

通过这种方式,端口8000将永远指向目录中的html文件。

答案 5 :(得分:0)

这个命令对我有用。

永远启动 npm\node_modules\http-server\bin\http-server

在此之前,您应该找到您的 npm 目录。