关于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/