配置网页版R(RStudio Server)
创始人
2025-05-29 14:44:20
0

  在做生信分析项目,比如转录组、单细胞时,先在服务器中运行一系列的生信软件对下机数据进行质控过滤等流程,再用R进行数据挖掘。如果质控后的数据传到自己的电脑上用R分析,一是翻来覆去比较麻烦,二是个人电脑配置不足会影响分析的效率甚至于分析不了。为了解决上述问题,可以在服务器中配置R的在线环境,通过浏览器连接到服务器的R,再进行后续分析。

  如何配置一个在线的R环境,以通过服务器ip地址和8787端口连接呢,大体分为5步,分别是1.新建普通用户,2.安装R,3.安装RStudio,4.开启8787端口,5.登录。

1 创建普通用户

  使用浏览器登录R时不允许管理员账户(root)登录,因此需要创建一个普通用户。

sudo useradd -d /home/qgy -m qgy
sudo passwd qgy
sudo usermod -G sudo qgy
su - qgy

2 安装R

conda install -y r-base=4.1.2

3 安装RStudio

  进入RStudio官网(Posit | The Open-Source Data Science Company),Products->RStudio Server->DOWNLOAD RSTUDIO SERVER

在这里插入图片描述

图1 Rstudio主页

在这里插入图片描述

图2 选择合适的Linux发行版本

  依次输入以下命令:

sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2023.03.0-386-amd64.deb
sudo gdebi rstudio-server-2023.03.0-386-amd64.deb

  安装完成后查看rstudio-server的状态

(base) qgy@hecs-340067:~$ rstudio-server status
× rstudio-server.service - RStudio ServerLoaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendor preset: enabled)Active: failed (Result: exit-code) since Fri 2023-03-17 11:13:39 CST; 2min 16s agoProcess: 39307 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, status=0/SUCCESS)Main PID: 39308 (code=exited, status=1/FAILURE)CPU: 18ms

  发现报错了,这是因为rstudio找不到R在哪,找到安装好的R的路径

(base) qgy@hecs-340067:~$ which R
/home/qgy/miniconda3/bin/R

  将R路径写入Rstudio的配置文件中,由于配置文件普通用户无权限更改,还需要切换到root下

(base) qgy@hecs-340067:~$ su - root
Password:
root@hecs-340067:~$ vim /etc/rstudio/rserver.conf

  在该文件里,把R路径写进去

在这里插入图片描述

  此时再查看rstudio-server状态,还是不行,restart重启一下,查看状态发绿了就行了

(base) qgy@hecs-340067:~$ rstudio-server status
× rstudio-server.service - RStudio ServerLoaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendo>Active: failed (Result: exit-code) since Fri 2023-03-17 11:26:44 CST; 2min>Process: 40048 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, >Main PID: 40049 (code=exited, status=1/FAILURE)CPU: 17ms
(base) qgy@hecs-340067:~$ rstudio-server restart
TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to '/home/qgy/.local/share/rstudio/log/rserver.log'.
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'rstudio-server.service'.
Authenticating as: qgy
Password:
==== AUTHENTICATION COMPLETE ===
(base) qgy@hecs-340067:~$ rstudio-server status
● rstudio-server.service - RStudio ServerLoaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendo>Active: active (running) since Fri 2023-03-17 11:29:28 CST; 2s agoProcess: 40650 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, >Main PID: 40651 (rserver)Tasks: 4 (limit: 4344)Memory: 3.3MCPU: 505msCGroup: /system.slice/rstudio-server.service└─40651 /usr/lib/rstudio-server/bin/rserver

4 开启8787端口

4.1 实体机

firewall-cmd --permanent --add-port=8787/tcp
firewall-cmd --permanent --add-port=8787/udp
firewall-cmd --reload

4.2 云服务器

  以华为云为例,按下方三张图片依次点击,优先级1-100,1是最高,端口号写8787。

在这里插入图片描述

图3 点击云服务器号

在这里插入图片描述

图4 安全组->Sys-default

在这里插入图片描述

图5 入方向规则->添加规则->填写规则

5 登录

  输入服务器ip地址跟端口号,比如:121.37.68.231:8787

在这里插入图片描述

图6 登陆界面

在这里插入图片描述

图7 登陆成功

常见问题

问题1

  在使用root或用户id <=1000的账号登陆时,会报错。如果是root用户,需要重新创建新用户,给新用户添加读、写和操作R、Rstudio Server权限;如果是普通用户,使用id命令查看用户id,再使用usermod -u 修改用户id为大于等于1001的整数,如果出现用户在某个进程中,用kill -9 命令把进程杀掉,具体细节可参考图9。在这里插入图片描述

图8 未被授权的用户

在这里插入图片描述

问题2

  使用conda安装R时报错:

An unexpected error has occurred. Conda has prepared the above report.

解决办法

conda clean -i

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...