服务器上安装RStudio-Server并实现远程访问

在linux服务器上安装RStudio Server,通过公网IP进行访问。 Modified: 2023-07-04 20:24:23 Created: 2023-06-25 01:10:00 Tags: #linux #rstudio #ipv6

最近需要使用R语言进行生信分析,但是 mac 实在是能力着急。刚好住的地方有一台服务器,想着能不能在服务器上跑。本来 mac 用ssh来连接 linux 服务器确实很方便,相关代码通过 terminal 运行起来。但是有以下的问题:

  1. 用户不太会用 linux,只会用图形界面版的 r-studio
  2. 即使用 ssh,住的地方的服务器缺少公网 ip,想用也没有办法

1. RStudio Server 介绍

RStudio 是 R 的可视化编程界面(IDE),可写 R 代码并运行。现在有本地客户端和服务器两种版本:

  • 本地版本就是全部在本地运行,不需要服务器,依靠本地机器的性能
  • 服务器版本则可以充分利用服务器的强大算力,其它电脑可以通过浏览器访问,和本地使用 R-Studio 一样

2. 安装过程

直接按照官网教程来就行:

1 选择操作系统

选择RedHat/CentOS中的RedHat9。

2 安装R

sudo dnf install R
sudo dnf install R-devel
安装好之后,可以在命令行中运行R:
R
R_installed 3 安装RStudio Server

wget https://download2.rstudio.org/server/rhel9/x86_64/rstudio-server-rhel-2023.06.0-421-x86_64.rpm
sudo yum install rstudio-server-rhel-2023.06.0-421-x86_64.rpm

3. 配置与启动

使用systemd来管理rstudio-server服务。

正在运行的状态
sudo systemctl status rstudio-server.service
● rstudio-server.service - RStudio Server
     Loaded: loaded (/usr/lib/systemd/system/rstudio-server.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2020-10-22 20:37:02 CST; 1h 54min ago
    Process: 966 ExecStart=/usr/libexec/rstudio/bin/rserver (code=exited, status=0/SUCCESS)
   Main PID: 986 (rserver)
      Tasks: 3 (limit: 19067)
     Memory: 63.8M
        CPU: 2.198s
     CGroup: /system.slice/rstudio-server.service
             └─986 /usr/libexec/rstudio/bin/rserver

Oct 22 20:37:02 server systemd[1]: Starting RStudio Server...
Oct 22 20:37:02 server systemd[1]: Started RStudio Server.
未在运行的状态
sudo systemctl status rstudio-server.service
● rstudio-server.service - RStudio Server
     Loaded: loaded (/usr/lib/systemd/system/rstudio-server.service; enabled; vendor preset: disabled)
     Active: inactive (dead) since Thu 2020-10-22 22:34:05 CST; 1s ago
    Process: 966 ExecStart=/usr/libexec/rstudio/bin/rserver (code=exited, status=0/SUCCESS)
    Process: 6034 ExecStop=/usr/bin/killall -TERM rserver (code=exited, status=0/SUCCESS)
   Main PID: 986 (code=killed, signal=TERM)
        CPU: 2.246s

Oct 22 20:37:02 server systemd[1]: Starting RStudio Server...
Oct 22 20:37:02 server systemd[1]: Started RStudio Server.
Oct 22 22:34:05 server systemd[1]: Stopping RStudio Server...
Oct 22 22:34:05 server systemd[1]: rstudio-server.service: Succeeded.
Oct 22 22:34:05 server systemd[1]: Stopped RStudio Server.
Oct 22 22:34:05 server systemd[1]: rstudio-server.service: Consumed 2.246s CPU time.

一些systemd的命令

sudo systemctl start rstudio-server.service # 启动
sudo systemctl stop rstudio-server.service # 停止
sudo systemctl enable rstudio-server.service # 设定开机启动
sudo systemctl disable rstudio-server.service # 取消开机启动

4. 浏览器访问RStudio-Server

在另外一个处于同一个网络的机器上,打开浏览器,输入http://server_ip:8787 就能访问了。

local_login

输入账户密码后,就可以进行操作了:

web_gui

对于移动宽带来说,虽然没有公网ipv4地址,但是可能有公网ipv6地址。访问http://[server_ipv6]:8787就可以了。

另外,也可用cloudflare的zerotrust进行内网穿透。可以查看这里

总结

本文介绍了RStudio Server的安装和远程访问。