如何在Windows服务器上托管Shiny应用程序?

时间:2017-10-20 12:23:27

标签: sql-server shiny rstudio shiny-server shinyproxy

我开发了一些闪亮的应用程序,我想让一些选定的内部用户可以进行测试和继续开发。

在云端或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,但没有答案:

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

编辑:

其他托管选项:

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

相关问题