在AWS上部署免费的Shiny应用

免费云主机  时间:2020-12-27  阅读:()

张丹张丹,《R的极客理想》系列图书作者,民生银行金融大数据分析师,前况客创始人兼CTO.

12年IT编程背景,4年量化投资经验,金融大数据专家.
精通R,Java,Nodejs编程语言,曾获得10项SUN及IBM技术认证.
丰富的互联网应用开发架构经验,掌握大数据处理、数据挖掘机器学习等核心技术,熟悉金融二级市场、交易规则和投研体系.
博客http://fens.
me,Alexa全球排名70k.
作者介绍《R的极客理想》系列图书3Shiny是R语言中一个神级的应用,唯一的缺点就是不支持并发.
我们很多时候都是做本地Shiny应用,用于展示各种报表的效果.
但有时候也需要把报表上传到互联网上,其他人也能看到.
这样就需要一个互联网的解决方案,刚好AWS有了免费的服务器支持.
简直是完美!
!
前言在AWS上部署免费的Shiny应用41.
Shiny是什么2.
本地开发一个Shiny小应用3.
申请AWS免费服务器4.
在AWS上安装R语言环境5.
在AWS上安装ShinyServer6.
在AWS上部署自己的Shiny应用7.
番外篇目录在AWS上部署免费的Shiny应用5Shiny是RStudio公司开发的,一个用于R语言的Web应用程序框架,可以轻松开发交互式web应用,不需要了解HTML,CSS,JS等前端知识.
Shiny构建出应用的惊艳程度,远远超过了说明的文字.
一定要学学,下面是一个Shiny小程序的截图.
1.
Shiny是什么在AWS上部署免费的Shiny应用61.
Shiny是什么在AWS上部署免费的Shiny应用7Shiny的主页:http://shiny.
rstudio.
com/我们安装Shiny可以直接从CRAN获取,通过一行R程序就可以安装了.
1.
Shiny是什么在AWS上部署免费的Shiny应用81.
Shiny是什么2.
本地开发一个Shiny小应用3.
申请AWS免费服务器4.
在AWS上安装R语言环境5.
在AWS上安装ShinyServer6.
在AWS上部署自己的Shiny应用目录在AWS上部署免费的Shiny应用9下面我们用Shiny开发一个小应用的实例,主要是为介绍Shiny的用法,包括网页的界面UI和后端程序,数据源使用R语言自带的一个数据集.
数据集是faithful,统计的是美国黄石国家公园的泉水(OldFaithfulgeyser)喷发的持续时间和喷发等待时间.
2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用10数据集包括2列eruptions为喷发持续时间waiting为喷发的等待时间.
2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用11Shiny应用,分为定义了客户端程序ui.
R,和服务器端程序server.
R,这2个文件默认要求放同一个目录中.
另外,我们还需要一个启动文件run.
R,用于启动Shiny的应用.
当然,如果在RStudio中开发,就不需要run.
R的文件,直接点Shiny应用的启动按钮就行了.
2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用12目录结构如下:2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用13编辑文件:server.
R2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用14编辑文件:ui.
R2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用15编辑文件:run.
R2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用16启动Shiny应用时,本地的3840端口,就被打开了.
2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用17我们可以用浏览器,来访问本地的服务http://127.
0.
0.
1:3840.
2.
本地开发一个Shiny小应用在AWS上部署免费的Shiny应用181.
Shiny是什么2.
本地开发一个Shiny小应用3.
申请AWS免费服务器4.
在AWS上安装R语言环境5.
在AWS上安装ShinyServer6.
在AWS上部署自己的Shiny应用目录在AWS上部署免费的Shiny应用19AWS是Amazon提供的一个云服务平台,软件开发人员可以轻松购买计算、存储、数据库和其他基于Internet的服务来支持其应用程序.
免费的套餐,让互联网用户可以免费的使用他的资源,包括了服务器,数据库,CDN,负载均衡等服务.
首先,你需要注册一个AWS账号,然后登录进去,选择地区,申请免费的服务器.
目前免费开放的区域不包括中国区,我选择了一个日本东京的服务器,UbuntuLinux64bit.
3.
申请AWS免费服务器在AWS上部署免费的Shiny应用203.
申请AWS免费服务器在AWS上部署免费的Shiny应用213.
申请AWS免费服务器在AWS上部署免费的Shiny应用免费的资源,有一些限制,只能1核心CPU,1G内存,最大30G存储等.
22大概等3分钟,服务器启动完成,然后就可以通过SSH进行访问了.
3.
申请AWS免费服务器在AWS上部署免费的Shiny应用23AWS为了保证安全性,建议使用秘钥访问,所以你需要创建一个秘钥对,下载一个xx.
pem的私钥,然后配到Putty或XShell等用于远程登录的客户端里.
3.
申请AWS免费服务器在AWS上部署免费的Shiny应用241.
Shiny是什么2.
本地开发一个Shiny小应用3.
申请AWS免费服务器4.
在AWS上安装R语言环境5.
在AWS上安装ShinyServer6.
在AWS上部署自己的Shiny应用目录在AWS上部署免费的Shiny应用25登录后,我们就可以安装R语言的环境了.
安装过程比较简单,默认版本的R语言环境,直接使用是apt-get命令就是最方便的.
服务器所使用的系统环境LinuxUbuntu16.
04.
2LTS64-bitR:3.
2.
3x86_64-pc-linux-gnu(64-bit)4.
安装R语言环境在AWS上部署免费的Shiny应用26我们先更新apt的软件源,安装必备的系统软件,包括r-base和git,以及的Shiny应用的依赖库libcurl4-openssl-dev,libxml2-dev.
如果你忘了装了,后面再装也都不影响.
4.
安装R语言环境在AWS上部署免费的Shiny应用27接下来,让我们安装R语言的依赖包.
这里有一个小技巧,就是在R语言的环境中安装第三方R包,并切换成root用户.

4.
安装R语言环境在AWS上部署免费的Shiny应用28我们需要预装的包,主要就是shiny,当然如果你还有依赖其他的包,需要一块安装.
安装时,R会让我们选择软件源,如果用https协议的镜像列表,你需要配置一下curl进行下载.
你依然可以选择用http协议的镜像列表,选61之后,会出现http的镜像列表.
4.
安装R语言环境在AWS上部署免费的Shiny应用291.
Shiny是什么2.
本地开发一个Shiny小应用3.
申请AWS免费服务器4.
在AWS上安装R语言环境5.
在AWS上安装ShinyServer6.
在AWS上部署自己的Shiny应用目录在AWS上部署免费的Shiny应用30在开发时,我们其实只是用到了shiny的R语言第三方包,可以在本地的开发环境,运行Shiny的程序.
那么,如果把一个Shiny放到公司内网或外网给其他人用呢这时就是需要ShinyServer了.
顺利安装完R的依赖包,接下来就是要安装ShinyServer了.
ShinyServer是一个单独的软件,目前还不支持通过apt-get或R本身进行安装,需要下载安装.
5.
安装ShinyServer在AWS上部署免费的Shiny应用31ShinyServer提供一个稳定的Shiny应用在线的运行环境,ShinyServer分成开源版本和企业版本.
开源版本,提供了基本的Shiny功能,数据、可视化、运行环境,对于个人来说已经足够用了,而且非常友好.
企业版本,提供安全和管理功能添加到基本的开源版本中.
RStudio公司出品,必属精品!
!
ShinyServer是一个单独的软件,我们需要下载进行安装,下载地址:https://www.
rstudio.
com/products/shiny/shiny-server/5.
安装ShinyServer在AWS上部署免费的Shiny应用32在Ubuntu的环境中,我们可以通过下面的命令,进行下载和安装.
5.
安装ShinyServer在AWS上部署免费的Shiny应用33运行完安装的命令,默认情况ShinyServer会被直接启动起来,其中3838的端口被打开.
检查启动端口5.
安装ShinyServer在AWS上部署免费的Shiny应用34我们可以通过浏览器,直接基于IP和端口进行ShinyServer的访问了.
5.
安装ShinyServer在AWS上部署免费的Shiny应用35打开的页面是默认的ShinyServer的网页,如果和上面的截图一样,说明你的ShinyServer安装成功了.
提醒一下,AWS的EC2的主机,一定要配置网络访问策略,打开3838端口,允许外部访问,不然一直都是无法访问此网站的错误.
5.
安装ShinyServer在AWS上部署免费的Shiny应用361.
Shiny是什么2.
本地开发一个Shiny小应用3.
申请AWS免费服务器4.
在AWS上安装R语言环境5.
在AWS上安装ShinyServer6.
在AWS上部署自己的Shiny应用目录在AWS上部署免费的Shiny应用37最后一步,把我们自己开发的Shiny应用,部署到AWS的EC2上面.
代码上传的过程,我们可以基于github来完成.
1.
在github上面,新建一个项目,名为shiny-demo.
2.
把本地开发的代码,上传到github的shiny-demo项目中.
3.
在AWS的EC2上,从github的shiny-demo项目中,下载代码.
4.
在AWS的EC2上,修改ShinyServer的配置,加载项目代码.
5.
在AWS的EC2上,重启ShinyServer,发现错误.
6.
在AWS的EC2上,查看日志修复错误.
7.
在浏览器上访问,自己的Shiny应用.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用386.
1.
在github上面创建项目,名为shiny-demo.
github操作过程省略.
项目地址https://github.
com/bsspirit/shiny-demo.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用396.
2把本地开发的代码,上传到github的shiny-demo项目中.
切换到本地开发的环境.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用406.
3在AWS的EC2上,从github的shiny-demo项目中,下载代码.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用416.
4在AWS的EC2上,修改ShinyServer的配置,加载项目代码.
编辑shiny-server的配置文件shiny-server.
conf.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用426.
5在AWS的EC2上,重启ShinyServer,发现错误.
重启ShinyServer,虽然只是重启,但经常出现错误.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用43重启后,就可以在浏览器上,访问自己的Shiny应用了.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用446.
6在AWS的EC2上,查看日志,修复错误.
主要的调试的方法,就是检查ShinyServer的日志.
日志在设置上,有一个很大的坑,我也是在挠头搞了3个小时后才发现的.
由于ShinyServer为了保证性能,所以非敏感性的错误日志被设置了自动清除,每当你出现了错误,要去看日志定位问题的时候,这个日志就刚好被自动清除了.
坑很大!
!
都开始怀疑人生了.
所以,你在调试时需要修改一个参数,保证日志不会被自动清除.
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用45发现问题,检查日志,我们对应日志的解决问题.
很多情况下,诡异的错误都是缺少第三方包造成的,当你程序中使用了第三包的时候,一直要记得在Shiny的服务器上面安装好.
记得用root用户!
!
6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用46总结一下,我们利用免费的AWS的EC2服务器资源,发布了自己的Shiny应用,是多么的开心啊!
这样以后就可以大胆地去开发自己喜欢的Shiny应用了,当然不只是Shiny应用,你可以利用AWS的免费资源,做更多的事情.
老司机,都明白的!
!

6.
部署自己的Shiny应用在AWS上部署免费的Shiny应用47原本是准备把一个基于赌场原型的Shiny应用放到互联网,考虑服务器位置和选型的问题,无意中发现了AWS的免费资源,这样就有了这样的一篇Shiny与AWS结合的文章.

要不要分析一下赌场的模型呢.
番外篇在AWS上部署免费的Shiny应用48把中国金融二级市场,在游戏里重新实现.
参与者可以扮演下面的角色:中央银行,商业银行,交易所,券商,证监会,银监会,散户,私募,做市商,配资机构,保险机构….
使用市场的规则,用模型改进交易策略,让游戏平衡,增加博弈的维度.
番外篇在AWS上部署免费的Shiny应用49番外篇在AWS上部署免费的Shiny应用新书《R的极客理想-量化投资篇》,将在2017年8月由机械工业出版社出版.

IMIDC彩虹数据:日本站群多ip服务器促销;30Mbps带宽直连不限流量,$88/月

imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...

HostHatch(15美元)大硬盘VPS,香港NVMe,美国、英国、荷兰、印度、挪威、澳大利亚

HostHatch在当地时间7月30日发布了一系列的促销套餐,涉及亚洲和欧美的多个地区机房,最低年付15美元起,一次买2年还能免费升级双倍资源。商家成立于2011年,提供基于KVM架构的VPS主机,数据中心包括中国香港、美国、英国、荷兰、印度、挪威、澳大利亚等国家的十几个地区机房。官方网站:https://hosthatch.com/NVMe VPS(香港/悉尼)1 CPU core (12.5%...

美国高防云服务器 1核 1G 26元/月 香港/日本站群服务器 E5 16G 1600元/月 触摸云

触摸云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超8年运营 。本次为大家带来的是双12特惠活动,美国高防|美国大宽带买就可申请配置升档一级[CPU内存宽带流量选一]升档方式:CPU内存宽带流量任选其一,工单申请免费升级一档珠海触摸云科技有限公司官方网站:https://cmzi.com/可新购免费升档配置套餐:地区CPU内存带宽数据盘价格购买地址美国高防 1核 1G10M20G 26...

免费云主机为你推荐
网站空间租赁网站空间必须通过租用得到吗?虚拟主机代理紧急寻求好的虚拟主机代理商国外虚拟空间哪里买的100m海外虚拟空间便宜稳定?免费国内空间谁知道国内哪个免费空间好,要1GB的网站服务器租用哪些网站适合租用独立服务器?网站服务器租用哪些网站适合独立服务器租用?价格方面怎么样?jsp虚拟空间java虚拟主机空间怎么选择,国内jsp虚拟主机比较稳定java项目做好后需要推荐一下吧网站空间购买怎么购买一个网站空间及购买注意事项100m网站空间50M的网页内容买100M的网站空间够用了没?虚拟主机管理系统什么虚拟主机管理系统支持W和linux操作系统
短域名 sockscap 回程路由 云鼎网络 193邮箱 免费mysql 帽子云 北京双线 169邮箱 网页提速 海外空间 上海电信测速网站 云营销系统 lick 工信部网站备案查询 阿里dns 睿云 重庆联通服务器托管 酷锐 sonya 更多