R Shiny网页在服务器的部署

这篇具有很好参考价值的文章主要介绍了R Shiny网页在服务器的部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

以此文章记录我花了一整天的R Shiny部署过程。也为大家在未来的学习和部署提供参考。
我的服务器环境:阿里云CentOS 7.9


一、新建用户

shiny-server默认是以shiny用户来运行shiny应用的。在安装shiny-server的过程中,通常会创建一个名为shiny的用户。这是因为shiny-server的默认配置文件中,运行用户被设置为shiny,如果你在安装shiny-server时没有创建shiny用户,而是使用了其他的用户,那么你需要修改shiny-server的配置文件,将运行用户改为你创建的用户。否则,shiny-server可能无法正常运行。

1、在root账号下注册新账号,账号名为shiny。

useradd shiny

为账号设置密码

passwd shiny

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
2、接下来给用户添加root权限,这样就可以在用户账号下使用sudo命令了。通过修改sudoers文件来赋予新用户root权限。首先,查找sudoers文件的位置:

whereis sudoers

为其赋予写权限:

chmod -v u+w /etc/sudoers

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
使用vim打开并修改sudoers文件。

sudo vim /etc/sudoers

在文件中添加新用户信息,找到 root ALL=(ALL) ALL 该行,在下面添加 shiny ALL=(ALL) ALL,如果不想每次sudo都要输入密码,可以写这个 shiny ALL=(ALL) NOPASSWD: ALL,然后:wq保存并退出。

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
3、收回sudoers文件的写权限,防止他人篡改:

chmod -v u-w /etc/sudoers

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享

二、安装R环境

1.安装R

首先进入用户账号

su - shiny

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
然后可以跟随官网步骤:https://posit.co/download/shiny-server/
Step1 - Select your server version :我的是CentOS 7+
Step 2 - Install EPEL :

sudo yum install epel-release -y

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
Step 3 - Install R and the Shiny R package : 如果用官网的代码

sudo yum install R

安装的不是最新版,我这里默认从EPEL安装的是R 3.6.0版本

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
如果满足不了项目需求,可以手动安装最新版。

2.如何安装最新版R

首先,需要安装一些必要的依赖项。可以使用以下命令安装它们:

sudo yum install -y gcc gcc-c++ gcc-gfortran readline-devel cairo-devel libpng-devel libjpeg-turbo-devel libtiff-devel pango-devel libicu-devel libxml2-devel libcurl-devel openssl-devel libXt-devel

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享

接下来,需要下载R语言4.3.2包。可以使用以下命令从官方网站下载它:

wget https://cran.rstudio.com/src/base/R-4/R-4.3.2.tar.gz

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享

下载完成后,需要解压缩该文件并进入解压缩后的目录:

tar -xzf R-4.3.2.tar.gz
cd R-4.3.2

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
现在,可以运行以下命令来配置和编译R语言:

./configure --prefix=/usr/local --enable-R-shlib
make
sudo make install

首先执行第一句:
R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
报了个错,还需要安装bzip2,运行如下代码:

sudo yum install bzip2-devel

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享

再次运行以下命令:

./configure --prefix=/usr/local --enable-R-shlib

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
又报错了,这里我们遵照提示,不用PCRE2了,改用PCRE1,运行:

./configure --prefix=/usr/local --enable-R-shlib --with-pcre1

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
这下第一句执行成功了,再执行第二句:

make

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
成功!再执行第三句:

sudo make install

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
编译完成后,可以使用以下命令启动R语言检查是否已安装最新版:

R

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享

3.安装shiny包

继续遵照官网剩下的Step2安装shiny包:

sudo R -e "install.packages('shiny', repos = 'https://mirror.tuna.tsinghua.edu.cn/CRAN/')" #主动添加源,修改默认国外源

tips:如果sudo R报找不到命令的错误,可以手动输入R进入R语言,然后用install.packages(‘shiny’, repos = ‘https://mirror.tuna.tsinghua.edu.cn/CRAN/’)安装,我就是这样,如下图:

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
两次都是yes,因为运行不了sudo R所以权限不够,只能将包安装在用户目录下。

四、安装Shiny Server

遵照官网Step4 - Install Shiny Server :
首先进入/srv文件夹,一会把shiny-server-1.5.21.1012-x86_64.rpm文件下载到这,下载到其他地方也行。

cd /srv

运行:

sudo wget https://download3.rstudio.org/centos7/x86_64/shiny-server-1.5.21.1012-x86_64.rpm

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
安装server:

sudo yum install --nogpgcheck shiny-server-1.5.21.1012-x86_64.rpm

安装完成后可以执行以下代码查看server运行的状态:

sudo systemctl status shiny-server

R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
绿色显示正在运行。在此也给出其他关于Shiny Server的指令:

##重启
sudo systemctl restart shiny-server
##查看状态 
sudo systemctl status shiny-server 
##开启 
sudo systemctl start shiny-server 
##停止 
sudo systemctl stop shiny-server

此时,在浏览器输入 <服务器ip>:3838 就可以访问shiny-server的默认主页(3838是shiny-server的默认端口号),比如我的服务器ip是112.124.7.213,那就输入112.124.7.213:3838。
R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
注意公网ip需要开放服务器端口3838,即可正常访问,我用的是阿里云服务器,在服务器控制台 - 网络与安全 - 安全组
R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
选择“操作栏”的“管理规则”,手动添加一栏
R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享

五、展示自己的网页

将自己的Rshiny项目复制进 /srv/shiny-server
R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
图中shiny-app是我自己的项目,其余两个是官方示例。
我的shiny_app文件夹内容如下:
R Shiny网页在服务器的部署,r语言,服务器,阿里云,运维,centos,笔记,经验分享
此时,通过 <服务器ip>:3838/<文件夹名> 即可访问,比如对于我就是112.124.7.213:3838/shiny_app


总结

还有不足理解不深的地方,请大家多指教。文章来源地址https://www.toymoban.com/news/detail-810525.html

到了这里,关于R Shiny网页在服务器的部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云服务器部署node项目笔记

    此过程中全部安装都按照B站教程实现 b站视频:https://www.bilibili.com/video/BV1my4y1a7xN/ 视频中的笔记:https://www.yuque.com/uyyv8m/linux 本篇是个人笔记,许多细节并未陈述比如开发阿里云对应端口等,不是完整的过程,如有误导在此致歉。 安装node报错 将node的压缩包解压以后一定要改

    2024年02月02日
    浏览(34)
  • 网站如何部署到阿里云服务器教程

    上一节课讲解了将网站部署到本地服务器,这样通过局域网就可以访问网站了。这节课讲解将网站部署到阿里云服务器上,这样不必受限于局域网,在任何能上网的地方,都可以访问我们的个人简历网站了。为何要部署到云服务器上在云服务器出现以前,要发布部署一个网站

    2024年02月05日
    浏览(43)
  • 阿里域名+腾讯云服务器组合部署网站

    前段时间,我在阿里云上购买了一个域名。本想着也在阿里云上购买一台入门级服务器先玩玩,但是在看完一系列的产品后,还是放弃了阿里云的服务器。对比几家之后还是选择了腾讯云,接下来,就是踩坑和避坑的经验了。 1. 腾讯云解析阿里域名的坑 修改域名的DNS服务器

    2024年02月10日
    浏览(49)
  • 部署vue项目到阿里云服务器

    一般前端工程师只会使用npm run serve 在开发环境下验证,那么如何把npm run build 打出的包部署到服务器上进行上线呢?这篇文章就详细阐述这一流程。 1. 购买或试用阿里云服务器     作为新用户可以试用一个月阿里云服务器,阿里云官方网址如下:https://www.aliyun.com/?utm_conte

    2024年02月05日
    浏览(32)
  • 【阿里云盘】自动每日签到,无需部署,无需服务器

    https://www.kdocs.cn/

    2024年02月14日
    浏览(30)
  • 阿里云服务器安装部署Docker使用教程

    本文阿里云百科分享如何在云服务ECS实例上,部署并使用Docker。Docker是一款开源的应用容器引擎,具有可移植性、可扩展性、高安全性和可管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中,快速发布到Linux机器上并实现虚拟化,实现更高效地构建、部

    2024年02月09日
    浏览(41)
  • 使用阿里云服务器部署和使用GitLab

    本文阿里云百科分享使用阿里云服务器部署和使用GitLab,GitLab是Ruby开发的自托管的Git项目仓库,可通过Web界面访问公开的或者私人的项目。本教程介绍如何部署和使用GitLab。 目录 准备工作 部署GitLab环境 使用GitLab 登录GitLab 生成密钥对文件并获取公钥 创建项目 使用GitLab 部署

    2024年02月13日
    浏览(36)
  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(58)
  • 阿里云服务器linux部署nginx-(阿里云服务器端口打不开解决方法-防火墙和安全组设置)

    ( 1 ) nginx官网 下载最新版本安装包: nginx: download (2)或者直接wget命令下载 如果有报错:   验证nginx是否启动 # 查看端口号被哪个进程占用 netstat -ntlp | grep 80 # 查看防火墙开放端口 firewall-cmd --zone=public --list-ports # 若防火墙关闭,检查防火墙状态,开启防火墙 systemctl sta

    2024年04月09日
    浏览(39)
  • 深度学习模型部署——Flask框架轻量级部署+阿里云服务器

    ​因为参加一个比赛,需要把训练好的深度学习模型部署到web端,第一次做,在网上也搜索了很多教程,基本上没有适合自己的,只有一个b站up主讲的还不错 https://www.bilibili.com/video/BV1Qv41117SR/?spm_id_from=333.999.0.0vd_source=6ca6a313467efae52a28428a64104c10 https://www.bilibili.com/video/BV1Qv41117

    2024年02月07日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包