[英]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.