【问题标题】:How to run meteor on a different port如何在不同的端口上运行流星
【发布时间】:2015-03-17 15:00:23
【问题描述】:

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

请帮帮我。

【问题讨论】:

标签: meteor


【解决方案1】:

可以使用meteor run --port 8080终端命令。

【讨论】:

    【解决方案2】:

    在 Linux/Unix 操作系统上,您不能使用非特权帐户绑定到端口

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

    下面列出的最佳做法取决于您的环境。

    发展

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

    生产

    这里有两个选择:

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

    • 以 root 身份启动网络服务器,但一旦使用 userdown 之类的东西运行,就降低权限。这就是mup 的工作方式,顺便说一下,这可能是您部署应用时应该使用的。

    【讨论】:

      【解决方案3】:

      用 sudo 运行它

      sudo meteor --port 80
      

      【讨论】:

      • 使用 sudo 运行它是一个巨大的安全漏洞。对于这样的“解决方案”,我会给 -10...
      • @PawełSmołka 你能解释一下我是 ubuntu 的新手,所以我是 sudo 的安全漏洞。谢谢
      • 例如:如果有人入侵您的 web 应用程序,他可能会获得您服务器的 root 访问权限并远程调用系统命令。我也不是全能的专家,但我非常小心地以 root 权限运行任何具有公共访问权限的应用程序......
      • Meteor 安装在您的本地用户上并在 sudo 上运行可能无法正常工作或产生意想不到的后果,-10。
      【解决方案4】:

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

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

      “作为一般规则,没有root权限运行的进程不能绑定到低于1024的端口。

      所以尝试更高的端口,或通过sudo 以提升的权限运行。"

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

      Node.js EACCES error when listening on most ports

      【讨论】:

        猜你喜欢
        • 2014-12-26
        • 1970-01-01
        • 2016-03-01
        • 2012-09-15
        • 2018-01-14
        • 1970-01-01
        • 2012-04-24
        • 2014-04-14
        • 1970-01-01
        相关资源
        最近更新 更多