服务器版本:Centos7.8
1.root权限创建一个叫shiny
的用户
useradd shiny
passwd shiny
2.赋予shiny用户root权限
chmod +w /etc/sudoers
sudo vi /etc/sudoers
找到 root ALL=(ALL) ALL
该行,在下面添加 shiny ALL=(ALL) ALL
chmod -w /etc/sudoers
3.切换shiny账户
su - shiny
4.开始安装R package,如果没有R环境,推荐先安装conda,然后再通过conda安装R,具体操作:
- 先去下载conda
https://docs.conda.io/en/latest/miniconda.html#linux-installers
- 安装conda
bash Miniconda3-latest-Linux-x86_64.sh
- 用conda安装R(默认安装的是R-4.2)
conda install r-base
5.在R中安装shiny包
install.package("shiny")
6.安装shiny-server
wget https://download3.rstudio.org/centos7/x86_64/shiny-server-1.5.18.987-x86_64.rpm
sudo yum install --nogpgcheck shiny-server-1.5.18.987-x86_64.rpm
7.如果前面都顺利的话,到这一步就shiny-server就已经在运行了,通过以下命令可以控制shiny-server
# 查看状态
sudo systemctl status shiny-server
# 启动
sudo systemctl start shiny-server
# 停止
sudo systemctl stop shiny-server
# 重启
sudo systemctl restart shiny-server
# 开机启动 enable/disable
sudo systemctl enable shiny-server
8.此时可以通过在浏览器输入ip:3838就可以访问shiny-server主页,如果加载不进去可能是需要修改防火墙规则,你要开放3838这个端口才能进行访问:
sudo firewall-cmd --permanent --zone=public --add-port=3838/tcp
sudo firewall-cmd --reload
9.访问成功后,就可以把你的shiny项目放在/srv/shiny-server
这个目录下(一般默认是这个目录),你可以建一个文件夹比如test
,那你就可以ip:3838/test
然后就能访问你用shiny写的网站了。
10.如果需要改端口或者其他操作,在/etc/shiny-server/shiny-server.conf
这个文件里面改,强烈建议在这个文件里的最上面加preserve_logs true;
这样就能报存日志,可以查错
11.日志目录在:
/var/log/shiny-server
报错日志按照服务+时间的格式,因此一个服务可能有多个日志
12.如果此时还不能成功,可能是你网站中的一些包还没有安装,在日志中去查看到底是什么出错了,具体问题具体解决。
参考
1.作者:欲飞-R https://www.bilibili.com/read/cv9354472/ 出处:bilibili
2.作者:钱六二二子 https://www.bilibili.com/read/cv17141396/ 出处:bilibili