17.4.2 shiny Server/RStudio Connect部署

17.4.2 shiny Server/RStudio Connect部署

开源shiny Server提供了一个平台,使得我们可以在一个服务器上托管shiny程序。

shiny Server只支持Ubuntu 12、Red Hat/Cent OS 6和7以及SUSE Linux Enterprise Server 11+等版本,并且只为64位架构提供安装文件,这也是我们建议使用64位系统的原因。

在安装shiny Server之前,需要安装3.2.2版本以上的R和shiny软件包。

前面已经介绍过R的安装,我们可以使用以下指令安装shiny软件包:

shiny Server的安装同样需要gdebi来安装依赖项,gbebi的安装前文已经提过。我们可以使用以下指令下载并安装shiny Server:

安装完成之后,在Linux系统操作界面输入“R”,进入R环境后,使用R命令安装Rmarkdown包,在这些必要的软件配置成功后,shiny Server的代码执行才不容易出错。

在华为云的安全组中打开3838端口(shiny Server默认在3838端口运行),以华为云地址14.115.12.78为例,在浏览器中打开网址http://14.115.12.78:3838,如果之前的配置准确无误,将出现如图17-7所示的界面。

图17-7 shiny Server安装成功界面示例

下面在shiny Server上部署本地的shiny程序,以供学习和交流使用。

将本地开发的shiny程序上传到服务器端shiny Server的步骤为:借助于WinSCP或者其他SSH工具登录服务器,在如图17-8所示的界面中输入公网IP地址、用户名和密码,登录到服务器。

图17-8 登录界面

在登录之后的界面中,左边是本地文件,右边是云服务器安装的程序,我们需要将本地的shiny程序上传到服务器端的指定目录下。默认目录由配置文件/etc/shiny-server/shinyserver.conf进行指定,且默认的指定目录为/srv/shiny-server/。shiny Server将从该目录下查找shiny应用并在3838端口进行托管。因此,我们可以将已经开发完成的shiny程序上传到该目录,例如,我们可以新建一个shiny程序,并将ui.R和server.R文件保存在shinyserver文件夹中。

默认目录示例如图17-9所示,打开图17-9可以看到shiny的原始文档,如图17-10所示。

图17-9 默认目录示例

图17-10 shiny的原始文档