【问题标题】:Will shiny work online without shiny-server?没有闪亮服务器,闪亮会在线工作吗?
【发布时间】:2016-01-18 00:04:29
【问题描述】:

我需要将闪亮的应用程序集成到一些现有的 php/html 代码中。而且我已经看到可以通过键入来运行该应用程序:

R -e "shiny::runApp('path_to_shiny', port=9999)"

所以我计划在服务器上运行这个脚本并放置一个重定向到这个的 iframe。可以吗?

【问题讨论】:

  • 我会对结果感兴趣,我猜您正在运行的R 应该充当服务器,但您将如何处理多个用户实例?对于一个简单的应用程序,它似乎可以运行它获取 URL http://127.0.0.1:6990 并通过多个浏览器传递不同的指令访问 URL(所以我猜 shiny::runApp 维护应用程序的必要多个实例)。

标签: r iframe server shiny


【解决方案1】:

您可以让 Shiny 服务器在与网络服务器不同的端口上运行(默认为 80)。例如,查看闪亮服务器的default configuration,它允许闪亮在端口 3838 上运行。这比运行带有闪亮包的 R 进程要好,因为你可以获得闪亮服务器的启动脚本,可以处理各种情况否则您将不得不手动处理(例如,在服务器重新启动时重新启动 R 进程等)。

【讨论】:

    【解决方案2】:

    是的,您需要在代码中添加host 参数和'0.0.0.0',如下所示,

    R -e "shiny::runApp('path_to_shiny', host='0.0.0.0', port=9999)"
    

    而且,您还需要确保该服务器未使用端口 9999,例如,如果 Web 服务器使用端口 80(即 yoururl.com),您可能需要更改为类似 yoururl.com 的端口: 8080,以防发生任何冲突。所以基本上你可以像这样运行两个不同的应用程序。

    【讨论】:

      猜你喜欢
      • 2014-12-16
      • 2023-03-23
      • 2013-02-08
      • 2016-05-23
      • 2021-11-07
      • 2021-03-10
      • 2016-12-28
      • 1970-01-01
      • 2015-10-05
      相关资源
      最近更新 更多