在本地使用Rstudio有很多的限制,不能够长时间跑程序,而服务器上能够满足R的很多条件,通过在服务器端安装Rstudio能够和本地一样使用Rstudio。服务器的Rstudio Server通过浏览器输入IP地址完成。
注意:我这里使用的是centos 7,需要服务器的root权限。
1. Rstudio Server的安装
1.1 Rstudio Server
wget https://download2.rstudio.org/rstudio-server-rhel-1.1.456-x86_64.rpm
sudo yum install rstudio-server-rhel-1.1.456-x86_64.rpm
1.2 创建配置文件
sudo vi /etc/rstudio/rserver.conf
sudo vi /etc/rstudio/rsession.conf
###在两个配置文件中添加以下语句
rsession-which-r=/usr/bin/R ##系统的R程序所在位置,如果个人目录下有利用anaconda安装R,可能会报错。
www-port=8787 ### 通过ip的8787端口连接
1.3 在防火墙配置文件中添加8787端口
sudo vi /etc/sysconfig/iptables
###在文件中添加以下语句:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8787 -j ACCEPT
### 重启防火墙
sudo service iptables restart
sudo netstat -anp ###查看开放的端口信息
1.4 检查Rstudio-server是否能够运行并启动服务
#检查配置是否完整
sudo rstudio-server verify-installation
#启动服务
sudo rstudio-server start
#查看状态,当出现active是,配置完成
sudo rstudio-server status
#[root@ lib64]# rstudio-server status
#● rstudio-server.service - RStudio Server
# Loaded: loaded (/etc/systemd/system/rstudio-server.service; enabled; vendor preset: disabled)
# Active: active (running) since Tue 2020-07-21 10:22:57 CST; 4s ago
1.5 打开本地的浏览器,输入IP:端口号,会出现输入用户名和密码的提示。这里的用户名和密码就是每个用户自己的用户名和密码。
2. 常见的问题及解决的方法
需要根据上面的步骤,打开rstudio的服务以及对应的网络端口。
2.1 RStudio Server安装完成后,浏览器无法打开ip:8787登录页,显示无法访问。
这是因为没有正确的配置网络端口,根据1.3修改相关的配置
2.2 Rstudio server "Unable to connect to service"。在输入用户名和密码后,rstudio没有能够加载出来,并包以上出错。
通过 rstudio-server verify-installation检查Rstudio相关的服务,并排除故障。
2.3 Rstudio服务重启的问题。
rstudio-server 有三个命令可以管理rstudio的服务
- rstudio-server status: 查看rstudio的服务情况,看是否报错
- rstudio-server start/restart:启动(start)或者重启(restart)服务。
- rstudio-server stop: 结束服务。
rstudio-server在重启的过程中,经常会遇到端口占用的问题,报错 Address already in use。这个错误是因为原有的进程占用已经设置好的端口,解决的方法是关闭所有占用该端口的进程。解决方案可以参考 https://blog.csdn.net/qq_43561095/article/details/109535143 这个网址。
2.3.1 查看端口占用情况,这里我们是默认的8787端口
lsof -i tcp:8787
2.3.2 结束对应的进程。这里关闭所有LISTEN相关的进程
kill -9 45551 54567 58358 92824
至此,问题解决。
3 参考网址
3.1 https://www.jianshu.com/p/44169741bd22
3.2 https://www.bioinfo-scrounger.com/archives/435/
3.3 https://community.rstudio.com/t/rstudio-server-unable-to-connect-to-service/40600