只需十步,部署shiny server到阿里云云服务器

前文

项目进行到尾声,准备给师兄师姐部署,但是如果像这样给一次部署一次再看问题再改之后再上交部署有点麻烦,所以打算自己部署自己调试

一开始首选当然是shinyapps.io的公用仓库,但是它免费额度只有25h,我一天就能用四五个小时,对于调试总是得掐时间,有点紧张。

所以便决定自己用服务器部署shiny server。

本来是打算用现有的博客服务器的,因为还有不少内存,但最后因为操作系统不兼容的原因遂放弃。

之后决定重新买一个服务器,意外发现阿里云有3个月云服务器的免费试用额度,刚好可以用来调试,遂有了这篇文章,旨在记录我踩过的坑。

步骤

准备云服务器

配置

我使用的Ubuntu操作系统,2核2G的阿里云香港云服务器(免费试用3月)

接下来的操作在远程连接之后进行,现在是以root用户登录到终端

操作1 切换用户

阿里云的linux服务器默认用户就是root,但是我们部署shiny server如果全部使用root用户的话会导致后面出现很多问题,所以我们需要新建一个shiny用户并给予sudo权限,并且之后使用shiny用户完成接下来的一系列操作。

  1. 添加一个新账户

     adduser shiny

    之后会提醒你设置密码,也可以留空;在之后的信息也可以全部留空

  2. 给予新用户sudo权限

    adduser shiny sudo
  3. 切换用户并测试

    su - shiny
    
    $ whoami
    shiny
    $ sudo whoami
    [sudo] password for shiny:
    root

操作2(此操作以及之后操作都是shiny用户执行)

打开/etc/apt/sources.list并将以下行添加到文件末尾:

`deb http://cran.rstudio.com/bin/linux/ubuntu xenial/`

操作3

添加CRAN网络的密钥ID:

wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc

操作4

更新存储库:

sudo apt update

操作5

安装R二进制文件:

sudo apt install r-base

操作6

安装shiny包

sudo su - -c "R -e \"install.packages('shiny', repos='https://cran.rstudio.com/')\""

操作7

安装Shiny Server

  1. 安装gdebi

    sudo apt-get install gdebi-core
  1. 下载Shiny Server

    wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.22.1017-amd64.deb
  1. 使用gdebi安装Shiny服务器软件包

    sudo gdebi shiny-server-1.5.22.1017-amd64.deb

    在这一步结束之后,shiny server会自动启动

操作8 环境配置完毕,简单测试

##常用的代码
#重启
sudo systemctl restart shiny-server
#查看状态
sudo systemctl status shiny-server
#开启
sudo systemctl start shiny-server
#停止
sudo systemctl stop shiny-server

操作9 在终端打开防火墙和3838端口

有些服务器不太智能,防火墙和端口得手动启动以及添加

输入以下代码

#检查防火墙状态
sudo ufw status
#若状态为inactive,则输入以下开启
sudo ufw enable
#开放端口 3838
sudo ufw allow 3838
#重新加载
sudo ufw reload
#再次检查状态
sudo ufw status
#确认到3838端口已开启即可

操作10 在控制台操作端口

不知道是阿里云的问题还是我的问题,我在终端打开防火墙和3838端口后并无法真正打开3838端口,还得进入阿里云云服务器的控制台-安全组-管理规则-手动添加规则

添加规则3838,授权所有IPv6,所有IPv4

完成

浏览器打开公网ip:3838,即可看见shiny server的欢迎界面,说明已经部署成功

最后修改:2024 年 09 月 10 日
如果觉得我的文章对你有用,请随意赞赏
正文到此结束
本文作者: 文章标题:只需十步,部署shiny server到阿里云云服务器
本文地址:https://david03.top/index.php/archives/187/
版权说明:若无注明,本文皆 Davidの3号基地 原创,转载请保留文章出处。