首页 文章

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

提问于
浏览
8

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

请帮帮我 .

4 回答

  • 7

    用sudo运行它

    sudo meteor --port 80
    
  • 1

    你可以使用 meteor run --port 8080 ,它的工作......

  • 13

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

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

    “作为一般规则,没有root权限运行的进程无法绑定到1024以下的端口 .

    因此,尝试更高端口,或通过 sudo 以提升权限运行 . “

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

    Node.js EACCES error when listening on most ports

  • 10

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

    你可以通过以root身份运行流星来解决这个问题,但这是一个非常糟糕的主意 . 在开发模式下,以root身份运行将修改应用程序目录下的文件权限 . 在 生产环境 中,它只是一个巨大的安全漏洞 . Never run a meteor app as root .

    下面列出了最佳实践,具体取决于您的环境 .

    发展

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

    生产环境

    这里有两个选择:

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

    • 以root身份启动Web服务器,但在使用userdown之类的操作后,请逐步关闭权限 . 这就是mup的工作方式,顺便提一下,这可能是您应该用来部署应用程序的 .

相关问题