8

我开发了一些闪亮的应用程序,我想将它们提供给一些选定的内部用户,用于测试和继续开发。

在云端或 shinyapps.io 上部署应用程序不是一种选择,因为这些应用程序正在处理敏感的内部数据。

不幸的是,使用 ShinyServer 也不是一种选择,因为我们有一个严格的 Microsoft 唯一 IT 架构,因此我只有一个带有 Windows Server 2012 R2 的虚拟机可用。

我一直在进行一些网络搜索,并发现了以下内容:

i.) 我可以在 Windows 机器上托管我的应用程序,如下所述:https ://stackoverflow.com/a/44584982/7306540 ​​。这似乎相当hackish,一点也不优雅。它一次只允许托管一个应用程序,我不确定它是否允许多个并发用户。

ii.) 我可以使用 shinyproxy.io,它可能在 Windows 机器上工作,但涉及相当多的相当复杂的安装和配置工作,我并不特别热衷于做这些工作。

iii.) SQLServer 2016 似乎具有某种 R 集成。我们目前使用的是SQLServer2014,原则上可以升级到2016。但是,我不知道 SQLServer2016 的“R 功能”是否允许托管 Shiny Apps。我找到了这篇博文,https://social.technet.microsoft.com/Forums/windowsserver/en-US/1cf94cbb-c45d-4f8d-8b5e-9d208bfe369a/microsoft-r-server-can-i-host-shiny- apps-yet?forum=MicrosoftR,但没有答案:

Q:有没有人更了解SQLServer2016在这方面的能力?其他选择呢?有没有其他方法可以在 Windows Server 上托管我的应用程序?RStudio 的制造商是否计划添加 Windows 版本的 ShinyServer?还有其他人在做这个吗?我将不胜感激对此主题的任何见解!

编辑:

其他托管选项:

iv.) 我们可以在 Windows Server 上安装 VM,例如 Virtual Box 或 VM Player,安装 Linux 和 Shiny Server 并从那里托管。如果 Shiny Apps 需要访问 Windows 机器上的 SQL Server DB,我们可能会在此变体中遇到问题。

i.) 这个变体可以通过使用(引用@gregL)来改进:“pm2.keymetrics.io,一个流程管理器,通常用于生产中的 Node.js。管道工文档描述了如何将 pm2 与 R 一起使用:rplumber。 io/docs/hosting.html#pm2"

4

1 回答 1

6

在 Windows 上可以托管闪亮的应用程序!

在工作中,我们托管了几个闪亮的生产仪表板,所以这绝对是可能的。您可以通过扩展您提到的 i.) 解决方案并为应用程序使用不同的端口来托管更多闪亮的应用程序。此处列出了您需要采取的步骤:

  • 确保端口在本地(evtl.也是远程)防火墙中打开以进行 TCP/IP 连接
  • 在启动本地 R 会话的本地计算机上运行“计划任务”,如 i.) 所述,确保任务超时并在需要时重新启动

一旦这些设置到位,您就可以先在本地测试 Shiny App,也可以从远程站测试。编辑闪亮的应用程序也可以实时完成,在 GUI 方面,但如果你想刷新数据,你将不得不重新启动 R 命令进程。提示:您还应该有一个索引网页,其中列出了所有正在运行的应用程序及其端口

于 2018-06-14T10:58:35.087 回答