【问题标题】:Meteor Deployment Strategies流星部署策略
【发布时间】:2013-07-25 14:49:25
【问题描述】:

我有一个流星部署,我希望在已经运行 apache 的服务器的端口 80 上运行。我需要一个子域来指向流星部署。我已经尝试使用 apache 的 mod_proxy 为子域创建代理,meteor 部署在 8080 端口上。但是,mod_proxy 不适用于 Web 套接字。我也尝试过使用 mod_proxy_wstunnel 模块,但这似乎也不起作用。服务器有 5 个 IP。因此,我还考虑在与部署 apache 的 IP 不同的 IP 上部署流星。但是,meteor 似乎绑定了所有 5 个 IP。我找不到将流星与其他 Ips 解除绑定并仅绑定到一个的方法。有没有办法解决这个问题?

【问题讨论】:

  • 谢谢。目前,我们已将流星部署在端口 80 上的单独服务器上,一切正常。不是最优雅的解决方案,但它确实有效。
  • 把 nginx 放在两台服务器前面并通过 http 主机名路由怎么样?这比通过 Apache 代理占用的资源要少得多(并且将涵盖任何 SSL 要求,并在您需要时允许负载平衡)。

标签: meteor


【解决方案1】:

类似于 cmets 中的 nginx 建议,我使用 haproxy 完成了此操作。

Haproxy 监听 80 端口,将流向流星子域的请求传递到 3000 端口,并将其他所有内容留给我移动到 8000 端口的 apache。设置需要几分钟,支持 websockets,我并没有真正注意到 haproxy 正在运行。

我的 haproxy 配置基于上面的链接,如下所示:

# this config needs haproxy-1.1.28 or haproxy-1.2.1
global
  daemon
  log /dev/log local0 info
  log /dev/log local0 notice

defaults
  log global
  maxconn 4096
  mode http
  option http-server-close
  option httplog
  option dontlognull
  timeout connect 5s
  timeout client 30s
  timeout server 30s

frontend public
  # HTTP
  bind :80
  use_backend meteor if { hdr_end(Host) meteorSubdomain.yourDomain.com }

  default_backend apache

backend meteor
  server meteor1 127.0.0.1:3000

backend apache
  server apache1 127.0.0.1:8000 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2021-06-19
    • 2020-09-21
    相关资源
    最近更新 更多