在没有连接的情况下调用 Jupyterhub 中的 Web 服务器失败

Calling a web server inside Jupyterhub without connection failed

我的问题是:JupyterHub 中的这个 Shiny R 代码迷你 Web 服务器如何在此服务器(即 <> 本地主机)之外工作?

ui <- fluidPage(
    textInput("caption", "Caption", "Data Summary"),
    verbatimTextOutput("value")
)

server <- function(input, output) {
    output$value <- renderText({ input$caption })
}

shinyApp(ui, server)
Listening on http://127.0.0.1:4844

它可以在本地服务器 (127.0.0.1:4844) 上运行,但我无法在 http://192.168.x.x:4844

上运行

供参考。我已经在 Ubuntu 16.04 xenial 上安装了带有 R Kernel 的 Jupyter 和 Jupyter Hub。我还安装了 Shiny Server 和 RStudio Server。一切正常。我的防火墙关闭了,我有 Apache2。

我在另一个从 Jupyterhub 调用的迷你网络服务器上看到了这个错误,其他意思是 Shiny。相同的代码适用于 Rstudio Server IDE.

问题出在 Jupyter Hub 或 Shiny Server 或 Apache 2 或其他地方的配置中?

"您使用的是Jupyter notebook,notebook服务器版本为:5.4.0 此版本 Python 上的服务器是 运行:Python 3.6.4 |Anaconda, Inc.| (默认,2018 年 1 月 16 日,18:10:19)[GCC 7.2.0])”。

提前致谢。

来自@greg L 评论。 ShinyApp() 包裹在 RunApp()host="0.0.0.0".

ui <- fluidPage(
    textInput("caption", "Caption", "Data Summary"),
    verbatimTextOutput("value")
)

server <- function(input, output) {
    output$value <- renderText({ input$caption })
}

runApp(shinyApp(ui, server),host = "0.0.0.0")

给了

Listening on http://0.0.0.0:6596

http://192.168.x.x:my_port

  • 192.168.x.x : 闪亮服务器主机
  • my_port: 启动时给定的端口

Shiny 应用程序默认侦听 127.0.0.1(本地主机),只有本地机器可以访问。要让其他机器可以访问应用程序,您可以将 host 选项设置为 0.0.0.0:

options(shiny.host = "0.0.0.0")

runApp(host = "0.0.0.0")

有关详细信息,请参阅 https://shiny.rstudio.com/reference/shiny/latest/runApp.html