【问题标题】:How my app is published on WWW without a Web Server?我的应用程序如何在没有 Web 服务器的情况下在 WWW 上发布?
【发布时间】:2018-09-07 04:36:49
【问题描述】:

我正在研究 Docker,我刚刚按照这里的指南 https://docs.docker.com/compose/rails/ 创建了一个 Rails 应用程序,本指南中使用的图像使用 PUMA 作为服务器应用程序。当我打开我的容器时,应用程序已经通过 myipnumber:3000 在 WWW 上发布。

所以这是我的疑问,如果没有像 NGINX/Apache 这样的 Web 服务器,我的应用程序怎么可能在 WWW 上发布,因为这些显然没有安装在我的主机或容器中? (也许他们是,但我看不到)。

【问题讨论】:

    标签: ruby-on-rails ruby apache docker nginx


    【解决方案1】:

    Puma 是一个机架兼容的应用服务器,可以为您处理 HTTP 请求。

    您需要一个用于生产部署的 Web 服务器(但情况不同)。

    另请阅读

    【讨论】:

    • Justin Wess 的解释很好,但是 PUMA 可以处理 web 请求这不是 Nginx 的作用吗?如果 PUMA 可以处理这个问题,为什么我需要 Ngix 进行生产部署?也许我弄错了 Nginx 角色(我说 Nginx 但可以是任何 Web 服务器)。
    • Puma 的角色是托管您的 ruby​​ Web 应用程序 - 将 HTTP 转换为 ruby​​ 数据结构并返回,管理线程/进程等。Nginx 负责缓存、处理静态文件、SSL、流量限制。跨度>
    • 所以 Nginx 帮助我控制请求,但我仍然不明白为什么我必须将它用于生产
    • 你的主机上有一个带有 puma 和 nginx 的 docker 容器?您需要在 nginx 上配置反向代理并使用良好的旧 TCP 套接字与 puma 通信(您需要从 docker 公开一个端口)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 2021-04-15
    相关资源
    最近更新 更多