配置网页版R(RStudio Server)
创始人
2025-05-29 15:33:43
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

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...