第 3 章 如何用ipad云端使用RStudio?
Warning :RStudio 服务器并不能傻瓜式的设置好,可能会用到:
1:每年付出租服务器的资金(约100/年)
2.一些非常简单的linux系统的操作
但你会收获:
1.通过网页登录的RStudio(如果你愿意,也可以在租借来的服务器上,搭建Jupyter Notebook服务器,MySQL服务器等等)
2.一个自己的云服务器
3.一个运算速度更快的、可后台自行运行不必占用自己电脑的云端RStudio
首先对于RStudio Server进行一个简单的介绍,一般来讲我们均在使用本地的RStudio。但是RStudio开发团队给予了我们一个可以通过网页登录的服务器。这样就可以允许我们通过自己服务器的账号和密码用电脑甚至手机、ipad随时随地登录到RStudio写代码。RStudio Server的使用可以理解为我们在一个远程的电脑上安装了一个RStudio,但是我们可以通过自己的电脑控制远程的电脑,自己的电脑只发出指令,而运算是在远程的电脑上执行,这样便不用一直占用自己的电脑,也不会让自己的电脑负担大算力的运算。
3.1 搭建RStudio Server 的前期准备
拥有一个自己的云服务器
各大云服务器厂商(腾讯云、阿里云、华为云等等)常常会有活动,笔者选用的是阿里云的轻量应用服务器,当然你也可以选择ECS服务器。不同的服务器只要几乎价格差不多,算力差别不会太大。一般来讲一年100块钱左右的服务器的算力已经比普通的很多电脑快很多了。选择一款服务器,按不同厂商提示的注册、购买成功之后,进入服务器的后台,查看服务器分配的公网IP,这是我们通过SSH方法登录服务器的地址.
更改密码与开放端口
我们在拥有了一个服务器之后我们需要将服务器的密码重置为我们自己设定的密码以及开启端口给我们即将搭建的服务。
更改密码:本文以阿里云轻量应用服务器(使用Centos8)为例,我们首先登陆我们的账号然后点击右上角的控制台进入我们的后台界面。然后选择我们所购买的轻量应用服务器,我们可以进入到服务器的后台。我们可以在后台的左侧看到-概述,我们可以从概述中获得我们这个主机的公网IP地址,未来我们就将要使用这个地址访问我们所搭建的Rstudio或者Jupyter Lab服务。然后我们要在服务器运维-远程连接中更改我们的密码。在更改了密码之后我们便可以使用用户名为root密码为所改密码的账户访问我们的主机。
开放端口:我们在刚刚页面的选项卡中我们可以找到安全-防火墙,我们可以在这里开放我们所需的端口。点击右上角的添加规则,应用类型选择自定义,协议选择TCP,端口可以选择8787(这是Rstudio server的默认端口,当然你也可以选择别的端口,任意一个符合条件的数字都可以,可以通过在服务器上更改Rstudio server的配置文件访问你所设置的自己的端口)
3.2 搭建RStudio Server
登录服务器:我们现在需要登录服务器,这时候我们可以选择任意一款能够使用SSH方式的软件,我这里使用的是MobaXterm。我们进入这个软件,点击左上角的Session,建立一个连接。选择SSH,然后输入RemoteHost:xx.xx.xx.xx(你自己的公网IP),Username可以输入root,port正常情况都是22无需更改。 然后会要求你输入自己的账号和密码。我们可以用户名为root密码为所改密码的账户访问我们的主机。成功进入之后我们便来到了我们的服务器后台。
配置环境:我们可以先添加一些源到我们的服务器,这样我们便让服务器可以知道去哪里下载软件。
#如果你不是Centos8可在以下网址查询添加阿里源的地址。
://developer.aliyun.com/mirror/
https#Centos8请使用如下命令
-O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
wget #实测UBUNTU需要添加阿里源才能更新到最新版,Centos需要添加以下源
#其他源的添加
-release
sudo dnf install epel-manager --set-enabled PowerTools sudo dnf config
然后我们便需要下载R和Rstudio Server以及依赖的环境。
安装R
使用如下命令
sudo yum install R
过程中会询问我们是否继续我们可以直接输入Y,继续安装
在完成了安装之后,我们可以通过如下命令查看是否安装成功
--versioin R
如果输出以下结果,恭喜你已经成功安装了R
4.1.1 (2021-08-10) -- "Kick Things"
R version Copyright (C) 2021 The R Foundation for Statistical Computing
: x86_64-redhat-linux-gnu (64-bit)
Platform
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.'license()' or 'licence()' for distribution details.
Type
in an English locale
Natural language support but running
R is a collaborative project with many contributors.'contributors()' for more information and
Type 'citation()' on how to cite R or R packages in publications.
'demo()' for some demos, 'help()' for on-line help, or
Type 'help.start()' for an HTML browser interface to help.
'q()' to quit R. Type
Rstudio Server
我们接下来便是搭建我们熟悉的Rstudio,在其官方页面中我们可以看到Centos8的安装方法是:
://download2.rstudio.org/server/centos8/x86_64/rstudio-server-rhel-2021.09.0-351-x86_64.rpm
wget https-server-rhel-2021.09.0-351-x86_64.rpm sudo yum install rstudio
成功安装了之后我们需要更改Rstudio Server的配置文件,输入:
/etc/rstudio/rserver.conf vim
进入此文件 添加(可以点击INSERT进入文件的编辑)一行语句www-port=8787(或者你自己开放的端口号),添加结束后点击ESC,然后输入:wq以退出文件的编辑。
在系统的防火墙开放8787端口:
#开启防火墙
systemctl start firewalld#开放端口
-cmd --zone=public --add-port=8787/tcp --permanent
sudo firewall#重启服务
-cmd --reload firewall
接下来我们开启服务:
#启动
-server start
rstudio#关闭
#rstudio-server stop
#重启
#rstudio-server restart
#查看状态
-server status rstudio
当我们查看Rstudio Server的状态显示RUNNING的时候我们应该可以通过网页xx.xx.xx.xx(公网IP):8787访问我们的服务器了,但是我们需要新建一个账户以用于登录服务器,因为Rstudio Server不可以使用root账户登录。
#我们可以通过以下代码添加新用户
xxxx(所设置的用户名)
useradd #再输入以下代码以设置用户密码
passwd xxx(刚刚的用户名,同上),接下来便会让你输入密码(密码应该是不显示具体位数的)
设置完成之后我们便可以在xx.xx.xx.xx(公网IP):8787,输入刚刚的用户名和密码登录我们的Rstudio Server了
依赖环境
我们新的服务器还是有一些环境需要搭建,否则一些R包的安装会报错。
#运行此代码安装环境
-c++ libcurl-devel libxml2-devel openssl-devel texlive-*
sudo yum install make gcc gcc-plugins-core
sudo yum install dnf-y install epel-release
dnf -manager --set-enabled powertools
dnf config-devel
yum install geos geos-devel.x86_64
yum install libsqlite3x-devel
yum install proj-devel
yum install gdal-devel yum install libjpeg-turbo-devel yum install ImageMagick-c++-devel yum install mariadb-devel yum install postgresql-devel yum install cairo-devel
yum install libtiff-devel proj-devel geos-devel sqlite-devel udunits2-devel sudo dnf install gdal
至此Rstudio Server便安装完毕了。