最近要用R語言進行生信分析,但是 mac 運算能力著實著急。剛好住的地方有一臺伺服器,自然想著能不能在伺服器上跑。本來 mac 用ssh來連線 Linux 伺服器確實很方便,相關程式碼通過 terminal 執行。但是有以下的問題:
- 使用者不太會用 Linux,只會用圖形介面版的 R-Studio
- 即使用 ssh,住的地方的伺服器缺少公網 ip,想用也沒有辦法
1. RStudio Server 介紹
R-Studio 是 R 的視覺化程式設計介面(IDE),可寫 R 程式碼並執行。現在有本地用戶端和伺服器兩種版本:
- 本地版本全部在本地執行,不需要伺服器,依靠本地機器的效能
- 伺服器版本可以充分利用伺服器的強大算力,其它電腦可以通過瀏覽器訪問,體驗和本地使用 R-Studio 一樣
2. 安裝過程
直接按照官網教程來就行:
1 選擇作業系統
選擇RedHat/CentOS中的RedHat9。
2 安裝R
sudo dnf install R
sudo dnf install R-devel
安裝好之後,可以在命令列中執行R:
R
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 就能訪問了。

輸入賬戶密碼後,就可以進行操作了:

對於移動寬頻來說,雖然沒有公網ipv4地址,但是可能有公網ipv6地址。訪問http://[server_ipv6]:8787就可以了。 需要注意,一般是要把桌上型電腦直接接到移動光貓上,而不是通過路由器連線。
除了直接用移動公網ip來訪問,可以用ssh 或者 cloudflare的zerotrust 進行內網穿透。可以檢視這裡。
總結
本文介紹了RStudio Server的安裝和遠端訪問。