R语言-Shiny-server安装注意事项

Published: 2018-05-13 20:11:00
By ytwan

In Items.

tags: R

关于shiny server 的安装和介绍,在官网都有介绍,在这里记录一些需要注意的事项和参考的资料来源以备后需。

基础资源和配置

I、本次安装使用的云主机ECS-,操作系统是安装最新的Centos,且是64位的。
     使用root用户分配个新的用户,尽量不要使用root用户操作系统
      01.设置新的用户名lego,以后都采用这个用户进行操作
         useradd  lego
         passwd  lego
                  ~**k~
         02. 把用户加入加入了sudo组
                     visudo
                       ## Allow root to run any commands anywhere
                       root    ALL=(ALL)       ALL               
                       lego ALL=(ALL)ALL  //添加这一行, lego为要加入sudoers 的用户

II、一些网络配置和设置

  01.云服务的配置
    云服务上的设置--主要是对一些接口放行,比如某个端口已被监听,但是ping不同,除了防火墙等原因
    安全组也是可能的原因。从云主机的安全层面-操作系统的层面-应用的层面这三方面考虑
          创建安全组 https://help.aliyun.com/document_detail/25468.html
          添加安全组规则 https://help.aliyun.com/document_detail/25471.html
          加入、移出安全组 https://help.aliyun.com/document_detail/25443.html
    02.操作系统上的设置
        01.防火墙的设置iptables
        02.SElinux的设置
         其余:
           能 ping 通但端口不通时端口可用性探测说明
            https://help.aliyun.com/knowledge_detail/40572.html
            检查 TCP 80 端口是否正常工作
                https://help.aliyun.com/knowledge_detail/59367.html
    03.查看方式
        001.查看端口是否开启--以及是否在监听状态
        netstat -anp|grep 3838 
         tcp        0      0 0.0.0.0:3838                0.0.0.0:*                   LISTEN      772/shiny-server
       002.查看防火墙开放了哪些端口
          service iptables status 或者
         /etc/init.d/iptables status
        003.查看SELinux状态
            getenforce
   04.程序安装的权限和文件的读写权限等
      1s -a  或者 ls -l

III、安装

01.安装R语言
  命令 :   sudo yum install R   
  执行
   反馈:查看是否安装成功 输入 R  然后确认,如果进入R语言后q()
 02.安装shiny包,已sudo的权限安装
  sudo su -  -c "R -e \"install.packages('shiny', repos='http://cran.rstudio.com/')\""
  03.   安装shiny-service
     $ wget https://download3.rstudio.org/centos6.3/x86_64/shiny-server-1.5.7.907-rh6-x86_64.rpm
     $ sudo yum install --nogpgcheck shiny-server-1.5.7.907-rh6-x86_64.rpm
    参考: https://www.rstudio.com/products/shiny/download-server/
    反馈:查看是否安装成功 sudo  status shiny-server

IV、查看一些文件

    资源文件
        /srv/shiny-server
    配置文件:
        /etc/shiny-server/shiny-server.conf
    日志文件
        /var/log/shiny-server.log以及/var/log/shiny-server/文件夹下的日志文件
    一些其他配置:
       /opt/shiny-server/config/default.config
        ll  /opt/shiny-server/config/init.d/redhat
                -- 轮循 转储
                shiny-server.log {
                       rotate 12
                       copytruncate
                       compress
                       missingok
                       size 1M
                }
                rotate 5: 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。
                copytruncate ;备份当前日志并截断
                compress: 在轮循任务完成后,已轮循的归档将使用gzip进行压缩
                size                    当日志文件到达指定的大小时才转储
                missingok: 在日志轮循期间,任何错误将被忽略,
                                 例如“文件无法找到”之类的错误。
        其他示例--复制
           cp -R /usr/lib64/R/library/shiny/examples/* /srv/shiny-server/

V、网络与操作系统

网络连接情况--例如
  使用Windows查看
    使用 -- ping是ICMP协议
             ping   47.100.13.62
      探测指定ip是否开放指定端口--windows开启telnet 服务,然后telnet ip地址 端口号
        telnet  47.100.13.62 3838
          47.100.13.62...无法打开到主机的连接。 在端口 3838: 连接失败

          47.100.13.62:3838
   使用Linux查看
       ping   47.100.13.62
     netstat -anp|grep 3838 
        netstat -anp 
         netstat -anp 显示系统端口使用情况
        netstat -nupl  (UDP类型的端口)
        netstat -ntpl  (TCP类型的端口)
端口:
     端口类型:分为"TCP协议端口"和"UDP协议端口"。
     端口号
        公认端口(Well Known Ports):这类端口也常称之为"常用端口"。这类端口的端口号从0到1023
        注册端口(Registered Ports):端口号从1024到49151
        动态和/或私有端口(Dynamic and/or Private Ports):端口号从49152到65535
     端口状态:
         TCP端口状态
              LISTENING     listening               正在监听连接
              CONNECTED  - connected
              ESTABLISHED  - established            连接已建立
防火墙
    cat      /etc/sysconfig/iptables-config
    system-config-firewall
    1)  开启80端口命令:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    2)  保存配置命令:/etc/rc.d/init.d/iptables save
    3)  重启服务命令:/etc/rc.d/init.d/iptables restart
    4)  查看已经开放的端口: /etc/init.d/iptables status
文件权限:
    命令 : chmod -R 755 tools_command/
    解释 : -R 为递归遍历

VI、关于云服务

    云服务:
       在配置服务的时候,需要考虑的问题
              01. 云账户:云账户与 RAM 用户是一种主子关系
              02.用户身份管理 与 资源访问控制 
                 管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。是
                云操作系统级别的设置
                云防火墙:
                  安全管控:
                  访问控制 :
                        访问控制RAM
                        用户-群组-角色 管理
                        策略管理:查看并管理已创建的访问控制策略
                  AccessKeys:是访问阿里云API的密钥
                  RAM (Resource Access Management) 是阿里云为客户提供的 用户身份管理 与 资源访问控制 
                     RAM-User 
                     RAM-Role
                    授权:API-Action 和 Resource-ID 授权 以及秘钥
                      AccessKey:使用访问密钥构造一个 API 请求(或者使用云服务 SDK)来操作资源
                     多因素认证(MFA)。Multi-Factor Authentication
              03. 系统访问策略 和客户管理的自定义访问策略

VII、关于操作系统-文件属性的缩写和颜色展示

ls的输出颜色不止3种,有以下几种,
  白色:表示普通文件         - = regular file 
  蓝色:表示目录                   d = directory 
  绿色:表示可执行文件
  红色:表示压缩文件
  浅蓝色:链接文件
  红色闪烁:表示链接的文件有问题
  黄色:表示设备文件
  灰色:表示其他文件
  这是linux系统约定的默认颜色,你也可以根据自己喜好自己修改
  l = symbolic link 、s = Unix domain socket 、p = named pipe 、
c = character device file 、b = block device file 
  2.文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名
        u user/owner        g group        o other        a all 
        r read 、w write 、x execute 
        4 = read (r) 、2 = write (w) 、1 = execute (x) 、0 = no permission (-)

参考:

https://github.com/rstudio/shiny-server/issues/153
https://stackoverflow.com/questions/45109835/shiny-server-change-the-directory-for-app
http://shiny.rstudio.com/articles/debugging.html
https://deanattali.com/2015/05/09/setup-rstudio-shiny-server-digital-ocean/#shiny-user-perms
https://qualityandinnovation.com/2015/12/09/deploying-your-very-own-shiny-server/

blogroll

social