RStudio Server是網(wǎng)頁(yè)版的RStudio,相比于單機(jī)版,它的靈活性更強(qiáng),部署在服務(wù)器上后,可隨時(shí)隨地完成R語(yǔ)言的工作。并且能很方便的完成R項(xiàng)目的部署調(diào)試。本文介紹RStudio Server的安裝和使用,以及一些需要注意的細(xì)節(jié)。
介紹
R語(yǔ)言的IDE一般用戶都選用RStudio,用起來非常方便,但一般都是下載的單機(jī)版,對(duì)于在單機(jī)上做的項(xiàng)目,如果在其他機(jī)器上使用,又要重新安裝一遍R和RStudio,和重新下載包,并且,如果R項(xiàng)目需要上線部署,一般都是Linux服務(wù)器,就需要做環(huán)境測(cè)試,這時(shí)候RStudio Server無疑體現(xiàn)出巨大優(yōu)勢(shì)。
安裝R
首先需要在服務(wù)器中安裝R,服務(wù)器的操作系統(tǒng)為Linux CentOS7,在服務(wù)器終端中輸入以下命令,即可完成服務(wù)器版本R的安裝。安裝epel的目的是更方便的安裝R語(yǔ)言。
yum install epel-release
yum install R
安裝完成后,輸入命令R,返回類似如下界面,表示安裝成功。

安裝RStudio Server
RStudio Server有多個(gè)版本,選擇與服務(wù)器操作系統(tǒng)相同的版本下載即可,注意下載的是免費(fèi)版本。
官網(wǎng)下載地址為:
選擇其中的Red Hat/CentOS,如下圖所示:

然后,官網(wǎng)會(huì)告訴你如何安裝對(duì)應(yīng)版本的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,返回類似如下界面,表示安裝成功。

創(chuàng)建賬號(hào)
前面都是用root賬號(hào)在安裝操作,但RStudio Server基于安全考慮不允許使用root賬號(hào)登錄,因此,我們需要?jiǎng)?chuàng)建一個(gè)新的賬號(hào)來使用RStudio Server。
例如創(chuàng)建賬號(hào)用戶名為jhr,然后設(shè)置密碼,輸入兩遍進(jìn)行確認(rèn)。
useradd jhr
passwd jhr
如果密碼過于簡(jiǎn)單,系統(tǒng)會(huì)有提示,可以忽略。下圖表面賬號(hào)密碼設(shè)置成功。

開始使用
RStudio Server 默認(rèn)開啟的端口是8787,所以只要用瀏覽器打開服務(wù)器ip地址:8787地址,就可以使用RStudio Server了。如用谷歌瀏覽器打開192.168.91.100:8787,界面如下,出現(xiàn)登錄界面。

輸入前面創(chuàng)建的賬號(hào)和密碼,就可以使用RStudio Server了,如下。里面的功能與RStudio Desktop版差不多。

注意事項(xiàng)
基本上完成前面的幾步,就可以很好的使用了,但作者在實(shí)際使用過程中,遇到一些需要注意的細(xì)節(jié),現(xiàn)分享如下。
無法打開登錄頁(yè)
問題描述:RStudio Server安裝完成后,瀏覽器無法打開ip:8787登錄頁(yè),顯示無法訪問。

解決辦法:關(guān)閉服務(wù)器的防火墻,命令如下。
systemctl stop firewalld.service
多用戶使用
需求描述:在同一臺(tái)服務(wù)器上,有多個(gè)R用戶需要使用RStudio Server。
解決辦法:在服務(wù)器上為每個(gè)R用戶分別創(chuàng)建賬號(hào)和密碼。
一個(gè)R項(xiàng)目的部署調(diào)試,可能有多個(gè)人參與,需要為每個(gè)人分配賬號(hào),但要注意的是RStudio Server不允許多賬號(hào)同時(shí)登陸。
服務(wù)卡死
問題描述:運(yùn)行r腳本過程中,RStudio Server可能會(huì)出現(xiàn)卡死的情況。
解決辦法:重啟RStudio Server。然后查看一下狀態(tài),是active狀態(tài)表示重啟成功。
rstudio-server restart
rstudio-server status

也可以先停止,再啟動(dòng)。同樣,最后需要查看一下狀態(tài)。
rstudio-server stop
rstudio-server start
rstudio-server status
端口占用
問題描述:服務(wù)器上的其他應(yīng)用已經(jīng)使用了8787端口,無法正常使用RStudio Server。
解決辦法:將RStudio Server的默認(rèn)端口改為其他端口。
首先查看服務(wù)器上端口使用情況:
netstat -nplt

根據(jù)已使用的端口情況,選擇一個(gè)未被使用的端口,如8788,下面修改RStudio Server的配置文件。
vi /etc/rstudio/rserver.conf
然后按i進(jìn)入編輯模式,輸入www-port=8788,按ESC退出編輯模式,再按:wq進(jìn)行退出并保存文件。

外網(wǎng)使用
需求描述:部署的RStudio Server只能在局域網(wǎng)中使用,無法通過外網(wǎng)訪問。
解決辦法:做端口映射,將本地服務(wù)映射到外網(wǎng)。
部署的RStudio Server在內(nèi)網(wǎng)中時(shí),其他人可以很方便的通過服務(wù)器ip地址加端口訪問,但要做到通過外網(wǎng)訪問服務(wù),真正做到隨時(shí)隨地使用RStudio,就要做端口映射,將本地服務(wù)映射出去,一般端口映射由各公司運(yùn)維操作。
終端工具推薦
最后推薦一款終端工具,MobaXerm,相比于Xshell,Putty,它更像是全能神奇,使用起來特別方便。
