主要内容: 主要是在服务器上也能使用rstudio,使Rstudio与服务器不再独立。 这里我主要是使用Xshell服务器进行实现。
安装流程: 1.首先在服务器安装R 直接用 conda install R 即可,然后进入R会显示界面即安装完成。 输入q()退出界面。
2.安装RStudio Server
官网下载地址为: Rstudio Server
在Xshell上获取:
wget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.2.5042-x86_64.rpm
会得到这样一个文件:
安装: 第1种:主root安装:
sudo yum install rstudio-server-rhel-1.2.5042-x86_64.rpm
第2种:非root用户安装: 首先在根目录下新建文件夹: 然后转到此目录下再安装:
cd rstudio-server
rpm2cpio ~/rstudio-server-rhel-1.2.5042-x86_64.rpm | cpio -idmv
3.设置环境变量
将 RStudio Server 的 bin 目录添加到你的 PATH 环境变量中。打开 ~/.bashrc 文件(或 ~/.zshrc,取决于你的 shell)
vim ~/.bashrc
添加此环境变量
export PATH=~/rstudio-server/usr/lib/rstudio-server/bin:$PATH
加载配置文件:
source ~/.bashrc
4.检查安装
安装成功,输入命令
rstudio-server version
会出现版本即成功: 尝试运行 RStudio Server 二进制文件,检查是否能够启动:
~/rstudio-server/usr/lib/rstudio-server/bin/rserver
5.访问RStudio Server
RStudio Server 默认开启的端口是8787,所以只要用浏览器打开服务器ip地址:8787地址,就可以使用RStudio Server了。如用谷歌浏览器打开192.168.91.100:8787。默认情况下,RStudio Server 运行在 8787 端口。打开浏览器,访问:
http://localhost:8787
6.出现的问题
1)问题如下:
~/rstudio-server/usr/lib/rstudio-server/bin/rserver
报错:18 Dec 2024 08:22:17 [rserver] ERROR system error 98 (Address already in use); OCCURRED AT: rstudio::core::Error rstudio::core::http::initTcpIpAcceptor
(rstudio::core::http::SocketAcceptorService<rstudio_boost::asio::ip::tcp>&, const string&, const string&) /var/lib/jenkins/workspace/IDE/open-source-pipeline/v1.2-patch/src/cpp/core/include/core/http/TcpIpSocketUtils.hpp:103; LOGGED
FROM: int main(int, char* const*)
/var/lib/jenkins/workspace/IDE/open-source-pipeline/v1.2-patch/src/cpp/server/ServerMain.cpp:502
这个错误表明 rserver 尝试监听的端口已经被另一个进程占用。默认情况下,RStudio Server 使用 8787 端口
解决方法: 方法1:查看服务器上端口上使用的方法:
netstat -nplt
直接杀死进程
kill -9 PID
方法2:更换端口
~/rstudio-server/usr/lib/rstudio-server/bin/rserver –www-port=8888
然后一定要记得点击左上角的文件然后点击当前会话属性 在端口处都输入更改的端口号
其他方法试试: 关闭服务器的防火墙(要有主用户的权限)
systemctl stop firewalld.service
其他问题: 出现这样的问题: 原因分析: 这个错误表明 rsession 依赖的 libstdc++.so.6 库的版本不匹配。具体来说:
rsession 需要的 libstdc++.so.6 库需要支持 CXXABI_1.3.8 版本的 C++ ABI(Application Binary Interface)。 你的系统上的 /lib64/libstdc++.so.6 版本较旧,不支持 CXXABI_1.3.8 。 这个不兼容可能是由于 Miniconda 环境中的动态库与系统库之间存在冲突。
解决方法: 使用 Miniconda 提供的 libstdc++ 如果升级系统库不合适,可以尝试使用 Miniconda 中的 libstdc++ 版本:
export LD_LIBRARY_PATH=$HOME/miniconda3/lib:$LD_LIBRARY_PATH
然后如下操作: 网址输入:
localhost:8888
连接成功: 部分参考来源:在服务器中使用R
评论前必须登录!
注册