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

sur*_*nov 5 ubuntu daemon httpserver node.js

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

jse*_*ksn 16

您可以使用该代码设置选项.只需在命令结束后使用可用的标志即可.例如:

forever start ./node_modules/http-server/bin/http-server -p 80 -d false
Run Code Online (Sandbox Code Playgroud)


小智 9

我遇到过同样的问题.找到一个node.js 脚本,该脚本可以运行shell命令并使用它来运行http-server命令以及选项.

名为'startserver.js'的node.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);
Run Code Online (Sandbox Code Playgroud)

然后你可以永远运行它:

forever start startserver.js
Run Code Online (Sandbox Code Playgroud)


Mat*_*gna 5

尝试这个:

$ forever start $(which http-server) -p 8000 -d false
Run Code Online (Sandbox Code Playgroud)

您可以在之后添加任何参数 forever start $(which http-server)

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