繁体   English   中英

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

[英]Deploy node app with http-server and forever

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

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

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

我遇到过同样的问题。 找到了一个可以运行 shell 命令的 node.js脚本,并用它来运行 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);

然后你可以使用永远运行它:

forever start startserver.js

尝试这个:

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

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

$(which http-server) : 返回 http-server 路径
-p 8000 : -p 8000端口,改成任意端口号
-d : 显示目录列表

这对我有用

首先像这样获取http-server的路径

which http-server

例如你会得到“/usr/bin/http-server”

然后写永远后跟http-server路径和你的应用程序路径

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

此致。

浏览到包含文件的目录并从命令行键入:every start -c http-server 。 -p your_port_number 示例:永远启动 -c http-server -p 8000

这样,端口 8000 将永远指向您目录中的 html 文件。

这个命令对我有用。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM