如何在不同的端口上运行流星

时间:2015-01-19 14:57:30

标签: meteor

如何在不同的端口上运行meteor,例如在端口80上。 我尝试使用meteor --port 80,但我收到此错误Error: listen EACCES

请帮助我。

4 个答案:

答案 0 :(得分:13)

听起来它可能是您机器上的访问问题。

请查看以下答案,该答案可能与您的问题有关。引用:

“一般来说,没有root权限运行的进程无法绑定到1024以下的端口。

请尝试更高端口,或通过sudo以提升权限运行。“

因此,您可以看到sudo meteor run与您的端口号一起工作,但您可以解决根本原因,即修复节点根权限。

Node.js EACCES error when listening on most ports

答案 1 :(得分:10)

您无法绑定到端口<具有非特权帐户的Linux / Unix操作系统上的1024。

可能通过以root身份运行流星来解决这个问题,但这是一个非常糟糕的主意。在开发模式下,以root身份运行将修改应用程序目录下文件的权限。在生产中,它只是一个巨大的安全漏洞。 永远不要以root身份运行流星应用

以下列出了最佳做法,具体取决于您的环境。

开发

在高端口号上运行meteor。如果不提供--port参数,则默认值为3000。通过控制台中打印的URL连接到它 - 例如http://localhost:3000/

生产

这里有两个选择:

  • 在高端口号码上运行meteor,并通过nginxHAProxy等反向代理将其连接到外部世界。

  • 以root用户身份启动网络服务器,但在使用类似userdown之类的操作后,请逐步取消权限。这就是mup的工作原理,顺便提一下,这可能就是您应该用来部署应用的方式。

答案 2 :(得分:7)

用sudo运行它

sudo meteor --port 80

答案 3 :(得分:2)

您可以使用meteor run --port 8080,这是有效的......