Rstudio-server的安装、配置、维护

一、安装Rstudio-server

(1)安装R语言:

sudo apt install r-base # 如果没有管理员权限无法操作
# 这样装上R默认在/usr/bin/R

其实基本上的流程都可以参考posit的官网(也就是Rstudio的官网):
https://posit.co/download/rstudio-server/

(2)安装Rstudio-sever:


#安装编译器:
sudo apt-get install gdebi-core # 如果没有管理员权限无法操作
# 下载安装包:
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2021.09.0-351-amd64.deb
# 安装Rstudio-server:
sudo gdebi rstudio-server-2021.09.0-351-amd64.deb # 如果没有管理员权限无法操作

可以看得出来其实就是参考Rstudio的官网教程,只是这里的demo示例的包的版本不一致

二、配置Rstudio-server

(1)配置访问端口:


# 修改配置文件:
echo 'www-port=你的端口号' >> /etc/rstudio/rserver.conf# 具体的端口号可以问你的管理员# 重启rstudio使配置生效
sudo rstudio-server restart# 查看Rstudio-server运行状态:
sudo rstudio-server statussudo echo 'www-port=8787' >> /etc/rstudio/rserver.conf
sudo rstudio-server restart
sudo rstudio-server status#端口没开放或者是打开有问题的再开一次:
sudo iptables -I INPUT -p tcp --dport 8787 -j ACCEPT

这里确实是比较新的:

可以参考我之前的博客:
https://blog.csdn.net/weixin_62528784/article/details/142887445?spm=1001.2014.3001.5502

我是因为之前用惯了8787端口的默认服务器,所以才默认设置并且认为8787端口用于Rstudio-server,所以才在博客中开放了8787端口

虽然没有文件,但是我的rstudi-server一直开着

还是设置一下:

总之有问题的就再开一次8787端口

(2)修改默认R

很多情况下用户为了解决版本冲突会直接启用新的R环境。

你可以这样安装指定版本的R:


# 下载:
wget https://cran.r-project.org/src/base/R-4/R-4.2.0.tar.gz
# 其他版本可以在这里找:https://cran.r-project.org/src/base# 解压:
tar -zxvf R-4.2.0.tar.gz
#切换工作目录:
cd R-4.2.0/
# 配置:
./configure --with-pcre1
#编译:
make

这里指的应该是系统级的R设置的修改,所以才对接新版本的R

或者用conda安装对应本本的R也是极好的:

conda install r-base==4.2.0
which R
# 那么你的R就在:/home/biomamba/miniconda3/bin/R

其实我一般是这么操作的:

mamba search r-base
#找到对应版本之后再安装


# 用vim修改配置文件,同样是上面修改端口的配置文件
sudo vim /etc/rstudio/rserver.conf
#rsession-which-r=/usr/local/bin/R  #这里是默认的R
# 例如我这里有一个conda环境中的R,这里指的是你在装其他工具而新建的环境中所配置的这个环境所需的R版本,如果你想要使用这个环境中安装时候的R作为默认
rsession-which-r=/home/biomamba/miniconda3/envs/monocle.2.18.0/bin/R# 重启生效:
sudo rstudio-server restart

不想用Vim编辑器也可以这么操作:其实和打开文件输入是一致的

# 修改配置文件:
echo 'rsession-which-r=/home/biomamba/anaconda3/bin/R' >> /etc/rstudio/rserver.conf 
# 重启生效:
sudo rstudio-server restart

为什么要修改默认的R配置

  1. 解决版本冲突:在R的开发和使用过程中,可能会遇到不同的包或项目对R版本的要求不一致。如果默认的R版本与某个项目所需的版本不匹配,可能会导致包安装失败、功能不兼容等问题。通过设置特定版本的R,可以确保所需的项目运行在正确的环境中。
  2. 使用特定功能:某些R版本可能引入了新的特性或者修复了某些bug,因此强制使用特定版本可以让用户利用最新的功能或修复过的问题。
  3. 环境一致性:对于数据分析项目和团队协作,确保所有成员使用同一版本的R能够大大降低由于环境不一致带来的问题,从而提高工作效率。

何时会遇到问题

  • 安装包时版本不兼容:如果一个R包只能在某个版本的R上工作,而你的系统中有一个更新或者旧的R版本,可能导致安装或加载包失败。
  • 运行旧代码时:一些旧项目可能依赖于特定的R版本,这时将在新版本中运行时可能无法正常工作。
  • 团队项目:在一个团队中,不同成员使用不同的R版本,可能会导致相同代码在不同环境下表现不一致。

解释代码 rsession-which-r=/home/biomamba/miniconda3/envs/monocle.2.18.0/bin/R

  1. rsession-which-r=:这是RStudio Server的一个配置项,用于指定R会话所使用的R解释器的路径。rsession表示R的会话进程。
  2. /home/biomamba/miniconda3/envs/monocle.2.18.0/bin/R
    • /home/biomamba/:这是当前用户(biomamba)的主目录。
    • miniconda3/:表示Miniconda的安装目录(一个小型、轻量级的Python和R包管理工具)。
    • envs/:这是Conda环境目录,所有由Conda管理的虚拟环境都存放在这个文件夹下。
    • monocle.2.18.0/:这是一个名为monocle.2.18.0的Conda环境,通常用于处理生物信息学的数据。
    • bin/R:这是该环境中R解释器的具体路径。

总结

通过指定R会话使用的确切R版本,就能确保RStudio能加载正确的库和功能,从而避免由于不同R版本导致的错误和不兼容问题。修改配置文件的操作是相对简单的,但对确保工作环境一致性和功能完整性至关重要。

三、为Rstudio-server创建新登录用户

Linux中的Rstudio-server无法像Windows那样用一个用户就可以开启

多个Rstudio,实际使用中Rstudio-server的一个用户只能使用一个Rstudio窗口,若需要同时开启多个Rstudio窗口,可启用子账号:

用户管理可参考:http://mp.weixin.qq.com/s?__biz=MzAwMzIzOTk5OQ==&mid=2247496892&idx=1&sn=960dbca843a51a73c1b331abee5c127d&chksm=9b3c8decac4b04fa3fb1fec375e6c6950f277f6c128c9decf5c38a689086ef798f519cd10acd&scene=21#wechat_redirect


# 创建一个新用户,并且指定其目录:
useradd -d /home/新用户名 -m 新用户名
# 然后设置密码:
passwd 需要修改密码的用户名
# 新建的用户未指定shell。我们只需将其指定为/bin/bash重新登录即可。否则该用户命令行只有一个$
usermod -s /bin/bash 新用户名#比如我现在随便举个例子:sudo名字倒过来名字
useradd -d /home/zht -m zht
passwd zht(sudozhtthz)

可以看到我已经登入了新账号了:

至于这个账号的内容,可以看到:

sudo也进不去,需要号主本人su zht进入(即必须得知道密码)

注意:亲测想要使用多个Rstudio-server窗口,最好不要在同一个浏览器上开多个窗口,最好在多个浏览器上开,因为在同一个浏览器上开会导致窗口崩坏

博客中提到的一些其他的问题:


# 卸载Rstudio:
sudo apt-get remove rstudio-server -y
# 下载最新版Rstudip并重新安装:
wget https://download2.rstudio.org/server/focal/amd64/rstudio-server-2023.09.0-463-amd64.deb
sudo gdebi rstudio-server-2023.09.0-463-amd64.deb# 好在配置文件无需重新写入,安装后的Rstudio-server与原先一样
#重启:
sudo rstudio-server restart
# 查看是否正常运行:
sudo rstudio-server status


# 终止当前shiny运行
sudo systemctl stop shiny-server
# 卸载:
sudo apt-get remove shiny-server
# 下载并重新安装:
wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.20.1002-amd64.deb
sudo gdebi shiny-server-1.5.20.1002-amd64.deb
# 在R中重新安装shiny包:
remove.packages("shiny")
install.packages('shiny')
# 重新启动shiny:
sudo systemctl restart shiny-server

参考:
https://mp.weixin.qq.com/s/5AuKS7ZbqXkq3mtoOAqbqQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/62942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python序列的应用(八):元组、字典

前言:在Python编程语言中,序列是一种非常重要的数据结构,它允许我们存储和操作有序的数据集合。在前几期的内容中,我们已经探讨了列表(List)和集合(Set)这两种序列的应用&#xff0c…

OpenCV 功能函数介绍

一, 二值化函数 功能: 用于对图像进行二值化处理 参数: cv2.threshold(输入你的图像所对应的灰度图, 阈值:是浮点还是整数取决予图像的数据类型 最大值;高于阈值的像素值, 阈值类型:cv2.THR…

【Python】使用Selenium的find_element模块获取网页上的大段文字和表格的方法(建议收藏!)

发现了一个使用Selenium的find_element模块,快速获取文字和表格的方法,很实在,以后爬网的时候,就不用beautifulSoup 和 pandas的read_html 混起来用了! 文字部分:实现网络节点下,某个节点下的其…

【AI知识】有监督学习之回归任务(附线性回归代码及可视化)

1. 回归的基本概念 在机器学习的有监督学习中,回归(Regression)是一种常见的任务,它的目标是通过观察数据来建立一个模型,用一个或多个自变量来预测因变量的值。 回归分析通常用于: a.预测,基于…

边缘计算+人工智能:让设备更聪明的秘密

引言:日常生活中的“智能”设备 你是否发现,身边的设备正变得越来越“聪明”? 早上醒来时,智能音箱已经根据你的日程播放舒缓音乐;走进厨房,智能冰箱提醒你今天的食材库存;而在城市道路上&…

JVM 双亲委派模型以及垃圾回收机制

目录 1. JVM 内存区域划分 2. JVM 中类加载的过程 1) 类加载的基本流程 2) 双亲委派模型 3. JVM 中垃圾回收机制 1) 找到垃圾 a) 引用计数 b) 可达性分析 2) 释放垃圾 1. JVM 内存区域划分 一个运行起来的 Java 进程,其实就是一个 JVM 虚拟机。 而进程是…

ansible自动化运维(四)jinjia2模板

Jinjia2模板 前面说到playbook组成的时候,有介绍到template模块,而template模块对模板文件进行渲染时,使用的就是jinja2模板引擎,jinja2本身就是基于python的模板引擎,所以下面先来了解一下jinjia2模板的一些用法 基…

Windows安装Jira

下载 Download Jira Data Center | Atlassian https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-10.3.0-x64.exe 以管理员身份安装,否则弹出以下提醒 创建和配置MySQL数据库:参照 Connecting Jira applicat…

uniapp - 微信小程序

一、background-image 大图不显示的问题 解决方法: 1、使用网络地址;2、使用 base64 urlTobase64(filePath) {// #ifdef MP-WEIXINlet img ${filePath},imgBase64 wx.getFileSystemManager().readFileSync(img, "base64"),base64Url data:…

DETR: End-to-End Object Detection with Transformers论文学习

论文地址:https://arxiv.org/pdf/2005.12872 代码地址:https://github.com/facebookresearch/detr 相关学习视频:https://space.bilibili.com/94779326/lists?sid1531941 标题前言: DETR 是 Facebook 团队于 2020 年提出的基于…

Vue3状态管理:Pinia架构设计分析

Vue3状态管理:Pinia架构设计分析 介绍 在Vue.js开发中,状态管理是一个非常重要的部分。随着Vue3的发布,Pinia作为一种新的状态管理架构也相继问世。本文将对Pinia架构进行深入分析,帮助读者了解其设计原理、特点以及在实际项目中的应用。 架构…

【IDEA】启动报错

今天启动IDEA报错 报错信息: Cannot connect to already running IDE instance. Exception: Process 5,444 is still running 打开任务管理器,关掉进程ID5444的任务

socket编程UDP-实现停等机制(接收确认、超时重传)

在下面博客中,我介绍了利用UDP模拟TCP连接、按数据包发送文件的过程,并附上完整源码。 socket编程UDP-文件传输&模拟TCP建立连接脱离连接(进阶篇)_udp socket发送-CSDN博客 下面博客实现的是滑动窗口机制: sock…

python xpath解析笔记

与bs4的区别 bs4有很多属性和方法,而xpath只有一个方法,是通过不同的xpath表达式实现很多功能的。 html例子 定位 tree.xpath(‘/html/head/title’) 返回列表。 开头的斜杠表示从根节点遍历。 中间的斜杠表示层级。(相当于bs4中的>…

Q学习(Q-Learning)详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

树状数组详解

概述 树状数组(Binary Indexed Tree,简称BIT),是一种数据结构,用于处理区间查询和更新问题。它是一种可以高效地在对数级别时间复杂度内进行单点更新和区间查询的数据结构。树状数组通常用于解决以下两类问题&#xf…

freeswitch(开启支持MCU视频会议,使用mod_av模块)

亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch场景说明: 有些场景想使用视频会议MCU融合画面进行开会使用方法: 第一步:下载插件 yum install -y epel-release yum install

【大数据技术基础】【记录Ubuntu 16.04升级到18.04】Ubuntu的一个版本升级到另一个版本

在 Ubuntu 操作系统中进行软件更新和系统升级 Ubuntu Kylin 16.04 LTS 系统进行系统升级到 Ubuntu 18.04.6 LTS 版本 升级提示:系统弹出提示框,告知用户有新版本的 Ubuntu 可用,询问用户是否想要升级。 认证窗口:显示了一个认证…

这是一个vue3 + scss的数字滚动效果

介绍: 当数字变化时&#xff0c;只改变变化的数字位&#xff0c;其余的不变&#xff0c;可以递增、递减、骤变、负数也可以&#xff0c;但是样式要根据具体的项目需求去改&#xff1b; 效果1、增加数字&#xff1a; 效果2、减少数字&#xff1a; 使用方法&#xff1a; <te…

TortoiseGit的下载、安装和配置

一、TortoiseGit的简介 tortoiseGit是一个开放的git版本控制系统的源客户端&#xff0c;支持Winxp/vista/win7.该软件功能和git一样 不同的是&#xff1a;git是命令行操作模式&#xff0c;tortoiseGit界面化操作模式&#xff0c;不用记git相关命令就可以直接操作&#xff0c;读…