2.2 配置RStudio Server
RStudio有2个配置文件,但是默认情况下,这2个文件没有创建,如果我们要修改这个配置,需要先创建这2个文件:
[root@rac1 rstudio]# touch /etc/rstudio/rserver.conf
[root@rac1 rstudio]# touch /etc/rstudio/rsession.conf
[root@rac1 rstudio]# ls
installed rserver.conf rsession.conf secure-cookie-key
创建配置文件之后就可以进行修改,修改完毕之后可以使用命令来验证修改的有效性:
[root@rac1 rstudio]# rstudio-server test-config
注意:
这个命令在启动和关闭RStudio server 时也会自动执行。当配置无效时,这个验证也会报错。
2.2.1 配置网络端口和地址默认的端口是8787,如果我们想改成其他端口,可以在/etc/rstudio/rserver.conf 文件中添加并修改参数:
www-port=80
--这里我们是将端口改成80.
默认情况下,RStudio 是将IP地址绑定到0.0.0.0, 这样任何客户地址都可以访问。 我们可以改成其他地址,添加并修改参数:
www-address=127.0.0.1
修改完毕之后要验证参数有效性,并重启rstudio-server。
[root@rac1 rstudio]# rstudio-server test-config
[root@rac1 rstudio]# rstudio-server restart
Stopping rstudio-server: [ OK ]
Starting rstudio-server: [ OK ]
2.2.2 设置扩展库如果我们添加其他的library到默认LD_LIBRARY_PATH 中指定库,可以通过rsession-ld-library-path参数,在/etc/rstudio/rserver.conf 文件中添加external library的位置即可,如:
rsession-ld-library-path=/opt/local/lib:/opt/local/someapp/lib
2.2.3 指定R 版本默认情况下,RStudio server 运行时使用的R是系统PATH中指定的R,这个位置可以使用which R确定,如果我们的系统上有多个版本的R,那么可以使用rsession-which-r参数指定RStudio 使用哪个版本的R。 如:
rsession-which-r=/usr/local/bin/R
在/etc/rstudio/rserver.conf文件里添加这个参数之后,必须重启rstudio server 才能生效。
2.2.4 设置用户限制如果有大量的用户使用,那么会消耗很多的资源,可以限制一些用户对资源的使用。
在/etc/rstudio/rserver.conf文件中添加auth-required-user-group参数,可以指定访问rstudio 的用户:
auth-required-user-group=rstudio_users
验证一下:
[root@rac1 rstudio]# useradd dave
You have new mail in /var/spool/mail/root
[root@rac1 rstudio]# passwd dave
Changing password for user dave.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updatedsuccessfully.
[root@rac1 rstudio]# cat /etc/passwd|grepdave
dave:x:502:506::/home/dave:/bin/bash
--创建组,将dave 用户添加到该组:
[root@rac1 rstudio]# groupadd rstudio_users
[root@rac1 rstudio]# usermod -g rstudio_users -G rstudio_users dave
在/etc/rstudio/rserver.conf 文件中指定用户组,只有属于改组的用户才可以使用rstudio。
auth-required-user-group=rstudio_users
[root@rac1 rstudio]# rstudio-server test-config
[root@rac1 rstudio]# rstudio-server restart
Stopping rstudio-server: [ OK ]
Starting rstudio-server: [ OK ]
现在就只有dave 用户能访问,Oracle 用户就访问不了了。
当然也可以添加一些其他的资源限制,比如总内存,stack size 和进程数等,如:
rsession-memory-limit-mb=4000
rsession-stack-limit-mb=10
rsession-process-limit=100
添加到/etc/rstudio/rserver.conf后需要重启服务才能生效。
2.2.5 其他的设置前面讲的都是/etc/rstudio/rserver.conf配置,另一个配置文件是/etc/rstudio/rsession.conf ,其可以配置与R session 相关的信息。当R 用户很多时,这个参数就很有用,其可以显示session 信息。
以下的配置都是写在/etc/rstudio/rsession.conf文件中。
默认情况下,当用户2个小时没有执行命令,RStudio 会suspend 用户的R session,并将这些信息写入磁盘,从而减少资源的消耗,当用户下次使用时,session被还原。
可以通过session-timeout-minutes 参数指定session 过期的时间,如:
session-timeout-minutes=30
如果这里设置为0,则表示禁用该功能。用户session 将不会suspend,一直运行。
其他的限制包括limit-file-upload-size-mb 参数,其可以显示最大的上传大小,如:
limit-file-upload-size-mb=100
也可以指定默认的CRAN repository 服务地址,如:
r-cran-repos=http://cran.case.edu/
2.3 管理RStudio ServerRStudio server 的管理通过rstudio-server 命令来进行,通过这个命令可以启用,停止,重启等操作。
[root@rac1 rstudio]# rstudio-server
Usage: rstudio-server{start|stop|restart|test-config|verify-installation|suspend-session|suspend-all|force-suspend-session|force-suspend-all|offline|online|active-sessions|version}
2.3.1 Stopping and Starting如果使用包来安装的RStudio,那么会自动将RStudio 注册到系统了,在系统启动会自动启动。
在Ubuntu系统上,启动脚本是:
/etc/init/rstudio-server.conf
在其他系统上,启动脚本在:
/etc/init.d/rstudio-server
手工的操作命令如下:
$ rstudio-server stop
$ rstudio-server start
$ rstudio-server restart