我正在开发一个闪亮的应用程序,因为我想使用该功能的自动化测试和文档,我开始在一个包中开发接口(这里推荐).
我在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.R和server.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 …