我在CentOS 6上安装了Rstudio服务器,但是我无法在浏览器中从
http://localhost:8787的浏览器登录到Rstudio.将出现一个标题为“RStudio Initialization Error”的弹出窗口,其中显示消息“无法连接到服务”.
$sudo rstudio-server verify-installation rstudio-server stop/waiting rserver[19273]: ERROR system error 13 (Permission denied) [username=rstudio-server]; OCCURRED AT: core::Error server::launchSession(const std::string&,const core::system::Options&,PidType*) /root/rstudio/src/cpp/server/ServerSessionManager.cpp:223; LOGGED FROM: int main(int,char* const*) /root/rstudio/src/cpp/server/ServerMain.cpp:428 rstudio-server start/running,process 19287 $id -u supstat1 502 (user name is more than 500) $sudo usermod -g rstudio_users supstat1 $sudo vi /etc/sysconfig/iptables as root and added the following line(s) Add -A INPUT -m state --state NEW -m tcp -p tcp --dport 8787 -j ACCEPT Add -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT $sudo lsof | grep rstudio rserver 9597 rstudio-server cwd DIR 8,1 4096 2 / rserver 9597 rstudio-server rtd DIR 8,1 4096 2 / rserver 9597 rstudio-server txt REG 8,1 7990044 553699 /usr/lib/rstudio-server/bin/rserver rserver 9597 rstudio-server mem REG 8,1 156928 391944 /lib64/ld-2.12.so rserver 9597 rstudio-server mem REG 8,1 1926800 391948 /lib64/libc-2.12.so rserver 9597 rstudio-server mem REG 8,1 599384 396110 /lib64/libm-2.12.so rserver 9597 rstudio-server mem REG 8,1 22536 391993 /lib64/libdl-2.12.so rserver 9597 rstudio-server mem REG 8,1 145896 391952 /lib64/libpthread-2.12.so rserver 9597 rstudio-server mem REG 8,1 91096 391950 /lib64/libz.so.1.2.3 rserver 9597 rstudio-server mem REG 8,1 1410824 564111 /usr/lib64/libcrypto.so.0.9.8e rserver 9597 rstudio-server mem REG 8,1 327488 567429 /usr/lib64/libssl.so.0.9.8e rserver 9597 rstudio-server mem REG 8,1 124624 396127 /lib64/libselinux.so.1 rserver 9597 rstudio-server mem REG 8,1 113952 406171 /lib64/libresolv-2.12.so rserver 9597 rstudio-server mem REG 8,1 18936 396128 /lib64/libuuid.so.1.3.0 rserver 9597 rstudio-server mem REG 8,1 93320 396113 /lib64/libgcc_s-4.4.7-20120601.so.1 rserver 9597 rstudio-server mem REG 8,1 17256 392157 /lib64/libcom_err.so.2.1 rserver 9597 rstudio-server mem REG 8,1 177520 392161 /lib64/libk5crypto.so.3.1 rserver 9597 rstudio-server mem REG 8,1 12592 406310 /lib64/libkeyutils.so.1.3 rserver 9597 rstudio-server mem REG 8,1 280520 392159 /lib64/libgssapi_krb5.so.2.2 rserver 9597 rstudio-server mem REG 8,1 944712 391997 /lib64/libkrb5.so.3.3 rserver 9597 rstudio-server mem REG 8,1 989840 536152 /usr/lib64/libstdc++.so.6.0.13 rserver 9597 rstudio-server mem REG 8,1 46368 406311 /lib64/libkrb5support.so.0.1 rserver 9597 rstudio-server mem REG 8,1 17520 406322 /lib64/libutil-2.12.so rserver 9597 rstudio-server mem REG 8,1 65928 391959 /lib64/libnss_files-2.12.so rserver 9597 rstudio-server 0u CHR 1,3 0t0 3643 /dev/null rserver 9597 rstudio-server 1u CHR 1,3 0t0 3643 /dev/null rserver 9597 rstudio-server 2u CHR 1,3 0t0 3643 /dev/null rserver 9597 rstudio-server 3r FIFO 0,8 0t0 37905 pipe rserver 9597 rstudio-server 4w FIFO 0,8 0t0 37905 pipe rserver 9597 rstudio-server 5u REG 0,9 0 3641 anon_inode rserver 9597 rstudio-server 6u IPv4 37907 0t0 TCP *:msgsrvr (LISTEN)
解决方法
当您登录时,rserver进程处理您的身份验证,然后启动一个rsession进程,这是您将使用的会话.当rsession进程由于错误而终止时,会发生此问题.
如果您具有管理员权限,则可以通过跟踪rserver进程并查看导致rsession退出的问题来调试错误.
这是怎么做的.
首先找到rserver process-id.
ps auxw | grep studio rstudio-server 7035 0.0 0.0 362488 4480 ? Ssl 16:37 0:01 /usr/local/lib/rstudio-server/bin/rserver
请注意包含字符串rstudio-server / bin / rserver的行输出中显示的第二个数字.在上面的情况下,process-id是7035.
然后跟踪rserver将输出发送到文件. -p之后的数字应该是rserver process-id. funky -e选项用于减少Java线程管理中的噪音.
sudo strace -f -e 'trace=!clock_gettime,gettimeofday,futex,timerfd_settime,epoll_wait,epoll_ctl' -p 7035 -o trace.txt
按ctrl-c停止跟踪.
使用您喜欢的编辑器打开文件,然后搜索字符串exit_group.
它上面的行可能表示rsession中的错误.在我的例子中,它是从.rstudio到缺失目录的符号链接.
7529 mkdir("/home/dds/.rstudio",0777) = -1 EEXIST (File exists) 7529 stat("/home/dds/.rstudio",0x7ffff37419b0) = -1 ENOENT (No such file or directory) 7529 write(2,"07 Feb 2015 16:46:53 [rsession-d"...,395) = 395 7529 sendto(3,"<11>Feb 7 16:46:53 rsession-dds"...,398,MSG_NOSIGNAL,NULL,0) = 398 7529 exit_group(1)