相关疑难解决方法(0)

将闪亮的应用程序开发为一个包并将其部署到闪亮的服务器上

我正在开发一个闪亮的应用程序,因为我想使用该功能的自动化测试和文档,我开始在一个包中开发接口(这里推荐).

我在RStudio中开发这个闪亮的应用程序,我有一个server.R文件,我可以点击RStudio内的运行应用程序按钮,一切正常.我将我的包提交到github存储库,从这一点开始我想在我的R闪亮服务器上使用devtools和安装它install_github.

现在我想知道如何在服务器中启动我的应用程序.我天真地想着安装软件包并指向server.R文件,但这在某种程度上无法正常工作.不确定问题出在哪里.

我的第二次尝试是创建一个文件app.R,在闪亮的服务器可访问的文件夹中调用,在这个文件中,我基本上加载我的包,闪亮和其他所需的包,但它因为缺少变量而以某种方式抱怨...

有人可以给我一个建议吗?我也很乐意回答任何问题,因为我不确定如何正确地提出这个问题.提前致谢.

编辑部署到闪亮的服务器

由于Colin D在评论中询问如何在闪亮的服务器上部署这些软件包,我想演示如何做到这一点.

首先,我使用以下命令通过root命令行直接在光亮的服务器上安装我的软件包.

su - -c "R -e \"devtools::install_github('user/shinypackage')\"" 
Run Code Online (Sandbox Code Playgroud)

下一步是更改包文件夹的所有者

chown -R shiny:shiny /usr/local/lib/R/site-library/shinypackage/
Run Code Online (Sandbox Code Playgroud)

然后我重新启动闪亮的服务器,因为这有时会出现缓存等问题.

systemctl restart shiny-server
Run Code Online (Sandbox Code Playgroud)

这些是我更新闪亮应用时的步骤.我通常再次以root为单位执行此操作

su - -c "R -e \"devtools::install_github('user/shinypackage')\"" &  chown -R shiny:shiny /usr/local/lib/R/site-library/shinypackage/ & systemctl restart shiny-server
Run Code Online (Sandbox Code Playgroud)

我们仍然需要做的一件事是在shiny-server.conf文件中设置目录.我刚刚添加了包路径+ 保存ui.Rserver.R保存的应用程序目录.

  location /shinypackage {
    app_dir /usr/local/lib/R/site-library/shinypackage/application;
    log_dir /var/log/shiny-server;
  }
Run Code Online (Sandbox Code Playgroud)

然后我必须使用重新启动服务器systemctl restart shiny-server …

r devtools shiny shiny-server

28
推荐指数
2
解决办法
5809
查看次数

标签 统计

devtools ×1

r ×1

shiny ×1

shiny-server ×1