一、Rstudio-server的下载与安装
1.1 sudo权限
一般情况下,我们推荐使用root权限,因为权限越大,安全性越低。
vim /etc/sudoers
备注:注意修改前sudoers的权限,一般是不可更改的。可使用root权限修改为可更改的,然后在
root ALL=(ALL) ALL
在起下面添加
xxx ALL=(ALL) ALL # 这里的xxx是你的用户名
1.2 下载并安装Rstudio-server
# 官网:https://www.rstudio.com/products/rstudio/download-server/
wget https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.2.5033-x86_64.rpm
yum install -y rstudio-server-rhel-1.2.5033-x86_64.rpm
二、配置Rstudio-server
2.1 配置文件
主要存在以下两个主要的配置文件,如果不存在,可以自动创建。
# 主目录:/etc/rstudio
/etc/rstudio/rserver.conf
/etc/rstudio/rsession.conf
2.2 配置文件修改
- 以下修改在
/etc/rstudio/rserver.conf
中修改
## 默认端口为:8787
## In /etc/rstudio/rserver.conf
## 更改端口为80
www-port=80
## 更改IP
## 默认:RStudio绑定到地址0.0.0.0(接受来自任何远程IP的连接)
www-address=127.0.0.1
## 外部库
# 通过修改rsession-ld-library-path 添加系统的库路径作为外部库以供RStudio server调用。
# 有时候R需要依赖系统的一些库的时候,就可以添加上系统库的路径让R也可以调用到,例如:
rsession-ld-library-path=/opt/local/lib:/opt/local/someapp/lib
## 更改RStudio-server使用的R版本
rsession-which-r=/usr/local/bin/R
- 以下修改在
/etc/rstudio/rsession.conf
中修改
超时设定
默认情况下,如果用户超过2个小时没有发出命令,RStudio会将该用户的R session挂起到磁盘,这样他们就不再消耗服务器资源(下次用户尝试访问服务器时,他们的会话将被还原)。
可以使用session-timeout-minutes
设置更改超时(包括通过指定值为0来禁用它)。 例如:
## 超时设定
session-timeout-minutes=30
设置R包安装地址
通过修改r-libs-user
可以更改用户的默认R包安装地址。这样的好处是确保最终用户安装的R包在路径中没有R版本号。 反过来,这使管理员可以在服务器上升级R版本而不用重置用户安装的软件包(如果安装的R包位于R版本派生的目录中,则会发生这种情况)。例如:
r-libs-user=~/R/packages
更改默认镜像
r-cran-repos=https://mirrors.nics.utk.edu/cran/
备注:更改结束后,一定记得重启一下。
sudo rstudio-server restart
三、服务器配置
3.1 开启8787端口
# 启动服务
systemctl enable rstudio-server.service
systemctl start rstudio-server.service
systemctl status rstudio-server
# 如果启动失败,查看失败原因
sudo journalctl -u rstudio-server
# 不同的操作系统,防火墙命令有可能不一样,具体的可以在技术文档中查找
firewalld
firewall-cmd --permanent --add-port=8787/tcp
firewall-cmd --permanent --add-port=8787/udp
firewall-cmd --reload
# 重启
rstudio-server restart
# 验证是否安装成功
rstudio-server verify-installation
# Server is running and must be stopped before running verify-installation ## 表示安装成功。
四、浏览器访问
IP为:http://<服务器ip>:8787
输入密码登录
浏览器拒绝
The reason why you can not restart rstudio-server is that the PORT 8787 was been using by previous rserver. After knowing this, the solution is easy. First, check the pid that was using PORT 8787
#查看占用端口
sudo netstat -anp | grep 8787
# tcp 0 0 0.0.0.0:8787 0.0.0.0:* LISTEN pid/rserver
#Second, kill this pid (use your pid)
sudo kill -9 <pid>
#Third, restart rstudio-server or reinstall resutio server package
rstudio-server restart #重启