ip代理软件如何使用
)。其主要功能是针对TCGA中33种肿瘤及癌旁组织的miRNA测序数据,以及GEO公共数据库中2万多位癌症患者及健康人群的循环miRNA数据进行系统分析。承蒙大家厚爱和支持,在朋友圈发布至今两周已有750左右的访问。因为希望能把这个工具持续维护下去,所以每一部分都做的非常用心。关于网站的功能,为什么做这样一个网页版工具,个人跟miRNA的渊源,以及对肿瘤早筛领域的热爱可以单独写一篇文章做详细介绍。
当你开发了一个shiny app之后,可能会想怎样能够让用户在任何地方都可以通过互联网访问,以及怎样为shiny app设置一个酷炫的网址。本文将细致讲解这两个问题的解决办法。即如何在AWS部署shiny app,以及如何绑定域名。关于shiny app开发的技术不做过多探讨。但是会提供一些简单的资料供入门者学习。
对于Shiny初学者,官网有大量入门资料可供学习。Tutorial对Shiny的基本元素和语法进行了系统介绍。Articles里有很多实用和进阶的攻略。Gallery里有上百个优秀的Shiny apps供用户学习,并且所有源代码都是公开的。RStudio的Github上也有182个Shiny examples可作为入门学习资源。Shiny官网:
系统学习一下网页UI设计(比如HTML, CSS等)会让你的Shiny app看起来更加高级。w3schools () 有一些学习资料ip代理软件如何使用。一些优秀的已发表的开源Shiny apps也是非常好的学习资源。CancerMIRNome (Github:)从项目开始一直是开源的,欢迎大家学习交流和提出宝贵意见。
当一个Shiny app开发完成后,如果你想把只能在本地运行的app发布出去供用户使用,就需要将你的Shiny app部署到服务器上。部署Shiny app的方法有很多,比如可以使用Shiny/RStudio的官方服务器shinyapp.io ()。你也可以使用云服务器,比如阿里云,腾讯云,亚马逊云(AWS)等。本文以AWS为例介绍Shiny app的部署,使用其他云服务器原理和设置应该是类似的。
使用亚马逊云,你需要创建一个AWS账号()。亚马逊提供一项12-month AWS Free Tier服务,用户可以免费使用1 CPU + 1G内存+30G存储的AWS云服务器12个月。此配置可以作为学习AWS及Linux系统的平台,但是亲测安装shiny至少需要2G内存,否则会一直卡在安装httpuv这一步,所以此配置可能无法满足部署shiny app的需求。运气好也许可以安装成功。账号申请非常简单。只要输入邮箱,密码,用户名;然后填写个人联系方式,信用卡信息;最后确认即可。
登陆AWS账户后即可选择你需要的服务。亚马逊为用户提供了非常多的服务内容。最常用的即Elastic Computing Cloud (EC2)和Simple Storage Service (S3)。顾名思义, EC2用于云计算,S3用于数据存储。部署一个简单的Shiny app暂时用不到S3,在此也不作过多讨论。
#如果只是自己在用,R包最好使用root用户(sudo –i)安装,这样R包可以安装到默认的位置,方便使用。否则需要在运行R代码的时候指定.libPaths。$sudo-i$R
虽然你的app已成功发布,但是用户很难记住你的IP地址,连你自己恐怕都记不住。这时候你就需要给app绑定一个简单易记的域名,便于网站的传播和使用。绑定域名可以分三步:购买/申请域名→设置DNS→设置reverse proxyStep 1: 购买/申请域名域名注册商应该有很多。每个域名一年的费用大概$10到$20,所以没认真研究在哪买会便宜。大概查了一下GoDaddy()比较有名,就在那里购买了。域名有很多种类型,常见的,你也可以申请种域名,看你的喜好和域名是否已经被注册。在学校一般可以联系IT部门申请子域名,比如bioinfo.ucr.edu就是ucr.edu的子域名,但是为了便于管理,我们还是自己申请了的域名用于统一管理实验室的网站和生物信息学软件。关于域名的购买根据网站提示下单就可以。Step 2: 设置DNS有了域名后,你需要将域名和IP地址绑定到一起。这时候就需要设置Domain Name System (DNS)。这一步需要在你购买域名的注册商网站账户中完成。每个域名注册商的网站页面肯定略有不同,但是需要设置的内容是一致的。以GoDaddy为例,登陆账号,选定要设置的域名
成功!在之前的AWS security groups设置中我们已经添加了HTTP 80端口。所以修改之后就可以直接在浏览器中输入bioinfo./CancerMIRNome访问了。如果之前没有打开80端口,需要到AWS EC2中进行设置。如前所述,这样做虽然简单直接,但是会面临一个问题。如果你同时安装了RStudio server或者Jupyter Notbook,对这两个站点你也想用很清爽的网站地址,比如rstudio.,这时候就无法实现了,因为80端口已经被shiny server占用了。方法二:使用Nginx反向代理上述问题可以用Nginx反向代理来解决。这方面我也不是很专业。但是找到一个很好的比喻。我们把服务器看成一座房子,里面有很多门。每个端口对应一个门。你必须敲开正确的门才能获取想要的信息。这就是为什么访问shiny server的时候要指定3838端口,即bioinfo.:3838。反向代理可以看作守在大厅的前台。而Nginx是最好的反向代理。我们把80端口给Nginx。假如我们想要访问shiny server,可以先跟Nginx通话,再由它帮我们找到shiny server获取我们想要的信息。这样就避免了去直接敲门。也就不必在访问的时候指定shiny server或RStudio server的端口了。#Nginx安装和设置$