Linux R shiny server 部署后报错:cannot open the connection

错误描述:

在服务器上面部署了R的shiny app之后,部分页面显示“cannot open the connection”,根据这个错误提示搜索了一下,发现绝大部分问题是由于工作路径设置不正确导致的,但是这应当不是shiny app会出现的错误,于是查看了日志文件

cd /var/log/shiny-server

详细的错误信息是这样的:

Warning in file(file, ifelse(append, "a", "w")) :
  cannot open file 'DBA_tamoxifen_report.csv.csv': Permission denied
Warning: Error in file: cannot open the connection
  149: file
  148: utils::write.table
  143: pv.DBAreport
  142: dba.report
  138: <reactive:dbareport_Annotation> [/srv/shiny-server/ATAC-DEA/server.R#1198]
  122: dbareport_Annotation
  121: <reactive:DE_Annotation> [/srv/shiny-server/ATAC-DEA/server.R#1214]
  105: DE_Annotation
  104: exprFunc [/srv/shiny-server/ATAC-DEA/server.R#1227]
  103: widgetFunc
  102: ::
htmlwidgets
shinyRenderWidget
  101: func
   88: renderFunc
   87: renderFunc
   83: renderFunc
   82: output$dbareport_Annotation_Table
    1: runApp
Warning: Error in file: cannot open the connection
  117: <Anonymous>
Warning: Error in file: cannot open the connection
  171: <Anonymous>

原来这一句 cannot open file 'DBA_tamoxifen_report.csv.csv': Permission denied 才是问题的关键,检查了应用里的相关代码,发现只要是出错的页面都需要读取这个文件,由于权限限制而导致无法读取所以出现错误。

之后进入到应用程序的目录对文件的权限情况进行查看:

root@root:/srv/shiny-server/ATAC-DEA# ls -l
total 228
-rw-r--r-- 1 root root 41797 Jan 10 09:20 DBA_tamoxifen_report.csv.csv
...

开头的一组信息表示权限情况,第一组是1个字符,表示类型;其他都是3个字符为一组,分别表示以下几种状态:可读权限(read)、可写权限(write)以及可执行权限(execute),三者分别对应的字符为r、w和x。而总共有三组,分别代表3类人的权限:文件所有者(user)、文件所有者所在组(group)以及其他(others)

  1. 第一组:第1个字符,‘-’代表这是一个文件,如果是'd'则代表这是一个目录
  2. 第二组:第2-4个字符,'rw-'代表文件所有者具有读写权限
  3. 第三组:第5-7个字符,'r--‘代表文件所有者所在组只有可读权限
  4. 第四组:第8-10个字符,’r--‘代表其他用户只有可读权限

所以只需要对文件的权限情况修改即可解决问题。

解决问题

使用chmod命令对文件权限情况进行修改,具体的命令形式可参考其他博客(Linux下更改文件权限)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Noobfurid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值