Shiny平台构建与R包开发(七)——Shiny APP部署
本节展示了如何分享和部署Shiny APP。您可以将开发好的Shiny APP部署在自己的服务器上,或是将其部署在公共的平台(即shinyapps.io)上。这里仅分享后者。对于如何将Shiny APP部署到自己的服务器中,将在未来进行补充。
部署至shinyapps.io平台
操作步骤
- Step1: 在shinyapps.io官网上注册账号。您会被要求填写用户名。
- Step2: 重新打开shinyapps.io官网,单击右上角Dashboard按钮(图1)。进入Dashboard界面(图2)后,单击左侧边栏Acccount > Tokens。您将在右侧主面板中看到Token和Secret信息。单击“Show”按钮,弹出对话框。
- Step3: 不要关闭该网页。现假设您的APP名称是"myapp"。在本地的文件浏览器中新建一个文件夹,名为"myapp"。确保该文件夹中有“app.R”文件,并且"app.R"文件的末尾要有
shinyApp
函数(或能返回与shinyApp
函数相同类型的对象的函数)。 - Step4: 用RStudio打开文件"app.R"。在命令行窗口中输入
runApp()
。这一步称为本地测试。若您的Shiny APP成功运行,方可进行下一步。 - Step5: 运行以下代码。若报错提示您未安装某些包,则采用
install.package
安装相应的包即可。代码运行完成后,会自动弹出一个网页,网页内容即是您的Shiny APP,表明部署完成。
if(!require(rsconnect)) install.packages("rsconnect")
rsconnect::setAccountInfo(name='Your Account',token='Your Token',secret='Your Secret')
#name, token, secret信息来源于Step2网页中的对话框
deployApp()
图1 shinyapps.io官网主界面
图2 shinyapps.io Dashboard界面
常见问题
运行deployApp()
时有可能产生各种各样的报错:
- HTTP 409 POST https://api.shinyapps.io/xxx Unable to dispatch task for application=xxx, there are 1 tasks in progress
原因: 您想要覆盖原来已经部署好的Shiny APP,但有人正在使用它,因此覆盖失败。
解决: 在Dashboard界面(图2)中单击左侧边栏Applications > All。找到相应的APP,单击右侧的Archive Application按钮(图标形如仓库),将APP归档,停止使用权,然后再重新部署。 - Unhandled Exception: Child Task 1075439621 failed: Error building image: Error fetching xxx source. <CRANPackageSource repo=‘http://cran.rstudio.org’> unable to satisfy package: xxx
原因: 使用了CRAN中尚不存在的包。
解决: 在代码中避免使用CRAN不存在的包;其他更好的解决方法尚在研究… - HTTP 404 GET https://api.shinyapps.io/v1/applications/xxx
Not Found
原因: 您将已部署的APP删掉了,因此deployApp()
找不到原先设定的地址。
解决: 删掉"myapp"目录下的"rsconnect"文件夹(这个文件夹是deployApp()
运行时自动生成的),然后重新部署。 - Error in curl::curl_fetch_memory(url, handle = handle) : Timeout was reached: [api.shinyapps.io] Operation timed out after 10000 milliseconds with 0 out of 0 bytes received
原因: 网络不好,再来一次。
部署至服务器
(Under Construction…)
上一篇: Shiny平台构建与R包开发(六)——R包开发与发布
欢迎感兴趣的同行朋友们批评指正。
联系邮箱:hrwu_ecology@163.com
Shiny平台构建与R包开发(七)——Shiny APP部署相关推荐
- Shiny平台构建与R包开发
Introduction 在数据库网页搭建教程中已经提到,数据分析决策平台的搭建十分重要.数据库网页是数据分析决策平台的重要表现形式之一,能够很好地将大量数据或其分析结果公开展示,并能提供数据下载.统 ...
- Shiny平台构建与R包开发(五)——ui美化
本节简单地向读者介绍Shiny APP中ui的美化方法. shinythemes 利用shinythemes包,您可以选择不同的bootstrap风格,并将其应用到Shiny APP中. 安装完shi ...
- Shiny平台构建与R包开发(四)——按钮与响应事件
作为Shiny平台构建与R包开发教程的第四小节,本节向读者进一步强调Shiny server的工作机理,并由此设计按钮点击事件. Shiny server工作机理与问题 前面的几个小节已经向读者初步解 ...
- Shiny平台构建与R包开发(三)——数据输出
作为Shiny平台构建与R包开发教程的第三小节,本节向读者展示如何利用Shiny server输出自己想要的数据,包括Rplot.Table.Text等信息. 数据输出机制 仍以上一节的案例为基础: ...
- Shiny平台构建与R包开发(二)——数据输入
作为Shiny平台构建与R包开发教程的第二小节,本节向读者介绍如何利用Shiny server处理用户输入的各种信息.这些信息既包括用户向Shiny上传的数据集,也包括用户对Shiny页面的各种控件( ...
- Shiny平台构建与R包开发(一)——ui布局
本节为Shiny平台构建与R包开发教程的第一小节. Getting Started 初识Shiny时,了解其工作机理非常重要.下面的案例展示了一个最简单的Shiny APP的工作机理: #DO NOT ...
- R包开发每日中国天气
R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可 ...
- R · R 包开发 | 保姆级教程
R · R 包开发 一般在初始阶段我们都是使用别人的函数来完成大部分任务,那些函数大多来自 R 标准安装的包或者可以从 CRAN 下载的包. 安装新的包可以拓展 R 的功能.比如说,安装 ggplot ...
- 优秀开源平台,前后端分离快速开发平台,一站式多端开发(PC+APP)
JNPF平台架构介绍 JNPF快速开发平台采用前后端分离技术.采用B/S架构开发,形成一站式开发多端(APP+PC)使用. PC端版本介绍 第一个当然是当下热门的.net core了,运行环境为Vis ...
最新文章
- ASP.NET之.NET FrameWork框架
- Acwing756. 蛇形矩阵:模拟
- android4 设置栈大小,【技术分享】Android内核漏洞利用技术实战:环境搭建栈溢出实战...
- 国际智商测试皮肤软件,爆火的口服玻尿酸,是美容神器还是智商税?
- Node.js Performance
- 对VS2008生成智能win32程序简单理解
- 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)
- mysql增量备份脚本
- 高中计算机学ppt吗,高中信息技术人工智能教学培训课件选修5ppt
- 你知道门禁卡的原理吗?手机模拟门禁卡研究
- 基于KNN的手写数字识别
- mysql怎么删除临时表里的数据_MySQL如何创建和删除临时表 | 学步园
- 无线网络和本地连接同时启用后,无线网络无法使用。
- python量化交易系统_Python学员作品-股票量化交易系统
- PYNQ搭建系统-Petalinux上网方式
- Iec61850 部署调试笔记一
- AES AES/GCM/NoPadding 加密解密
- 微信支付通用支付接口
- 分治算法小结(附例题详解)
- BlueZ移植与配置(很全面)