shiny在服务器上部署

embedded/2024/10/11 11:13:22/

将一个Shiny应用程序部署到服务器上可以通过多种方式实现,包括使用Shiny Server、Shinyapps.io或者Docker。以下是如何使用Shiny Server在服务器上部署Shiny应用程序的详细步骤。

步骤 1: 准备服务器环境

确保你的服务器运行的是Ubuntu或其他Linux发行版,并且你有sudo权限。

步骤 2: 安装R和Shiny

首先,更新系统并安装R:

sudo apt-get update
sudo apt-get install r-base

接着,安装Shiny包:

install.packages("shiny")

步骤 3: 安装Shiny Server

下载并安装Shiny Server:

# 下载最新版本的Shiny Server
sudo apt-get install gdebi-core
wget https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.17.973-amd64.deb
sudo gdebi shiny-server-1.5.17.973-amd64.deb

步骤 4: 配置Shiny Server

Shiny Server的默认配置文件位于/etc/shiny-server/shiny-server.conf。你可以编辑这个文件以更改服务器设置。例如,确保你的配置文件包含以下内容:

# Instruct Shiny Server to run applications as the user "shiny"
run_as shiny;# Define a server that listens on port 3838
server {listen 3838;# Define a location at the base URLlocation / {# Host the directory of Shiny Apps stored in this directorysite_dir /srv/shiny-server;# Log all Shiny output to files in this directorylog_dir /var/log/shiny-server;# When a user visits the base URL rather than a particular application,# an index of the applications available in this directory will be shown.directory_index on;}
}

步骤 5: 部署你的Shiny应用

将你的Shiny应用程序放置在/srv/shiny-server目录中。例如,假设你的Shiny应用程序文件是app.R,你可以创建一个新的目录并将应用程序文件复制到该目录:

sudo mkdir /srv/shiny-server/myapp
sudo cp path/to/your/app.R /srv/shiny-server/myapp/

确保应用程序文件的所有权属于shiny用户:

sudo chown -R shiny:shiny /srv/shiny-server/myapp

步骤 6: 启动和管理Shiny Server

Shiny Server应该已经自动启动。如果没有,可以手动启动并检查其状态:

sudo systemctl start shiny-server
sudo systemctl status shiny-server

你可以使用以下命令来重启或停止Shiny Server:

sudo systemctl restart shiny-server
sudo systemctl stop shiny-server

步骤 7: 访问你的Shiny应用

现在,你可以通过访问服务器的IP地址和端口来访问你的Shiny应用。例如,如果你的服务器IP地址是123.45.67.89,你可以在浏览器中访问:

http://123.45.67.89:3838/myapp

额外提示

  • 防火墙配置:确保你的服务器防火墙允许通过3838端口的流量。例如,在Ubuntu上使用ufw

    sudo ufw allow 3838
    
  • 反向代理:你可以设置一个反向代理(例如使用Nginx)来在标准的HTTP/HTTPS端口(80/443)上提供你的Shiny应用。

  • HTTPS:为了安全起见,你可以使用Let's Encrypt等工具为你的Shiny应用设置HTTPS。

通过上述步骤,你可以在服务器上成功部署一个Shiny应用程序。如果有任何问题或需要进一步的帮助,请随时提问。


http://www.ppmy.cn/embedded/50571.html

相关文章

Linux笔记--vi编辑器

vi编辑器 基本操作 对于vi编辑器有这几种模式 移动 当编辑一个过大的文件时通过方向键移动光标过慢所以可以使用快捷键进行移动 编辑 dw指令只能在单词第一个字母处使用 D指令删除的是当前行 查找替换 pattern指代想要搜索的内容

Leetcode Hot100之哈希表

1. 两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现思路…

chrome 录制器及性能分析工具的使用

需求背景: 对比不同VPN方案网络延迟的差异。 验证工具: chrome浏览器自带的录制器、性能插件可以完美的解决这个问题。 注意:录制的操作都在当前页面,不存在新开标签页的场景 解决方案: 使用chrome录制器&#xf…

5分钟了解单元测试

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是单元测试? 单元测试是指,对软件中的最小可测试单元在与程序其…

Nvidia TensorRT系列01-TensorRT的功能1

Nvidia TensorRT系列01-TensorRT的功能1 B站:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) 博客:肆十二-CSDN博客 问答:(10 封私信 / 72 条消息) 肆十二 - 知乎 (zhihu.com) C和Python API TensorRT的API同时支持C和Pyth…

dockerfile文件的中的命令

# 基础镜像 FROM registry.cn-beijing.aliyuncs.com/205erp/myopenjdk:8.6 # 设置工作目录 WORKDIR /opt # 拷贝jar包到工作目录 COPY target/*.jar app.jar RUN ls # 设置暴漏的端口 EXPOSE 8080 # 启动jar包 CMD java ${JAVA_TOOL_OPTIONS} -jar app.jar

QTday2

使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0…

课设--学生成绩管理系统(二)

欢迎来到 Papicatch的博客 目录 🐋引言 🦈编写目的 🦈项目说明 🐋产品介绍 🦈产品概要说明 🦈产品用户定位 🦈产品中的角色 🐋 产品总体业务流程图 🐋 产品功…