RStudio Server是网页版的RStudio,相比于单机版,它的灵活性更强,部署在服务器上后,可随时随地完成R语言的工作。并且能很方便的完成R项目的部署调试。本文介绍RStudio Server的安装和使用,以及一些需要注意的细节。
介绍
R语言的IDE一般用户都选用RStudio,用起来非常方便,但一般都是下载的单机版,对于在单机上做的项目,如果在其他机器上使用,又要重新安装一遍R和RStudio,和重新下载包,并且,如果R项目需要上线部署,一般都是Linux服务器,就需要做环境测试,这时候RStudio Server无疑体现出巨大优势。
安装R
首先需要在服务器中安装R,服务器的操作系统为Linux CentOS7
,在服务器终端中输入以下命令,即可完成服务器版本R的安装。安装epel
的目的是更方便的安装R语言。
yum install epel-release
yum install R
安装完成后,输入命令R
,返回类似如下界面,表示安装成功。
安装RStudio Server
RStudio Server有多个版本,选择与服务器操作系统相同的版本下载即可,注意下载的是免费版本。
官网下载地址为:
选择其中的Red Hat/CentOS
,如下图所示:
然后,官网会告诉你如何安装对应版本的RStudio Server,如下图所示,在终端中输入命令即可。
终端中输入命令下载和安装RStudio Server:
wget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.2.5042-x86_64.rpm
sudo yum install rstudio-server-rhel-1.2.5042-x86_64.rpm
安装完成后,输入命令rstudio-server version
,返回类似如下界面,表示安装成功。
创建账号
前面都是用root
账号在安装操作,但RStudio Server基于安全考虑不允许使用root
账号登录,因此,我们需要创建一个新的账号来使用RStudio Server。
例如创建账号用户名为jhr
,然后设置密码,输入两遍进行确认。
useradd jhr
passwd jhr
如果密码过于简单,系统会有提示,可以忽略。下图表面账号密码设置成功。
开始使用
RStudio Server 默认开启的端口是8787
,所以只要用浏览器打开服务器ip地址:8787
地址,就可以使用RStudio Server了。如用谷歌浏览器打开192.168.91.100:8787
,界面如下,出现登录界面。
输入前面创建的账号和密码,就可以使用RStudio Server了,如下。里面的功能与RStudio Desktop版差不多。
注意事项
基本上完成前面的几步,就可以很好的使用了,但作者在实际使用过程中,遇到一些需要注意的细节,现分享如下。
无法打开登录页
问题描述:RStudio Server安装完成后,浏览器无法打开ip:8787登录页,显示无法访问。
解决办法:关闭服务器的防火墙,命令如下。
systemctl stop firewalld.service
多用户使用
需求描述:在同一台服务器上,有多个R用户需要使用RStudio Server。
解决办法:在服务器上为每个R用户分别创建账号和密码。
一个R项目的部署调试,可能有多个人参与,需要为每个人分配账号,但要注意的是RStudio Server不允许多账号同时登陆。
服务卡死
问题描述:运行r脚本过程中,RStudio Server可能会出现卡死的情况。
解决办法:重启RStudio Server。然后查看一下状态,是active
状态表示重启成功。
rstudio-server restart
rstudio-server status
也可以先停止,再启动。同样,最后需要查看一下状态。
rstudio-server stop
rstudio-server start
rstudio-server status
端口占用
问题描述:服务器上的其他应用已经使用了8787端口,无法正常使用RStudio Server。
解决办法:将RStudio Server的默认端口改为其他端口。
首先查看服务器上端口使用情况:
netstat -nplt
根据已使用的端口情况,选择一个未被使用的端口,如8788,下面修改RStudio Server的配置文件。
vi /etc/rstudio/rserver.conf
然后按i
进入编辑模式,输入www-port=8788
,按ESC
退出编辑模式,再按:wq
进行退出并保存文件。
外网使用
需求描述:部署的RStudio Server只能在局域网中使用,无法通过外网访问。
解决办法:做端口映射,将本地服务映射到外网。
部署的RStudio Server在内网中时,其他人可以很方便的通过服务器ip地址加端口访问,但要做到通过外网访问服务,真正做到随时随地使用RStudio,就要做端口映射,将本地服务映射出去,一般端口映射由各公司运维操作。
终端工具推荐
最后推荐一款终端工具,MobaXerm
,相比于Xshell
,Putty
,它更像是全能神奇,使用起来特别方便。