You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将开发完成的ShinyApp部署到客户的本地服务器上

Debian 本地部署 Shiny App 完整流程

1. 系统基础依赖安装

首先执行系统更新和基础依赖安装,避免后续安装R包或服务时报错:

apt update && apt upgrade -y
apt install r-base r-base-dev gdebi-core libssl-dev libcurl4-openssl-dev libxml2-dev -y

注意:离线环境下可提前配置本地Debian软件源,所有依赖包都从本地源安装,无需联网。

2. 安装Shiny Server服务

Shiny Server是托管Shiny应用的官方服务组件:

  • 可联网环境:下载对应Debian版本的Shiny Server deb安装包后,执行gdebi 安装包文件名.deb完成安装
  • 内网离线环境:提前在可联网设备下载匹配Debian系统版本的安装包,通过内网传输工具传到服务器后执行上述安装命令即可

3. 配置R依赖环境

你开发App用到的所有R包都需要在服务器的R环境中安装对应版本,避免版本不兼容报错:

  • 优先在本地开发环境导出所有依赖包的名称和版本,整理成清单后在服务器批量安装
  • 基础必装包进入R交互环境后执行:install.packages(c("shiny", "rmarkdown")),可联网环境可指定CRAN源加快下载速度
  • 离线环境下提前下载所有依赖包的二进制或源文件,传到服务器后本地安装即可

4. 部署你的Shiny应用

完成上述准备后就可以上传应用部署:

  • 将你的Shiny App完整代码文件夹(确保app.R或ui.R/server.R在文件夹根目录)传到服务器的/srv/shiny-server/目录下,该路径为Shiny Server默认的应用托管目录
  • 给应用文件夹设置正确权限,避免访问时报权限错误:chown -R shiny:shiny /srv/shiny-server/你的应用文件夹名
  • 重启Shiny Server服务使配置生效:systemctl restart shiny-server

5. 验证部署与故障排查

  • 先确认服务运行状态:systemctl status shiny-server,显示active(running)即为服务正常启动
  • 默认访问端口为3838,内网环境下访问http://服务器IP:3838/你的应用文件夹名即可打开应用
  • 若访问报错,查看对应应用日志定位问题,日志默认存放路径为/var/log/shiny-server/,常见错误原因包括缺少R包、代码引用了本地路径、权限配置错误三类

6. 保密场景适配配置

针对客户内网保密需求,可做如下加固:

  • 配置防火墙仅开放内网网段访问3838端口,禁止公网访问,例如用ufw配置:ufw allow from 客户内网网段 to any port 3838
  • 若需要身份认证,可修改/etc/shiny-server/shiny-server.conf配置账号密码访问规则
  • 关闭服务器不必要的外网连接权限,符合客户保密规范

内容的提问来源于stack exchange,提问作者Abdelouahed BEN MHAMED

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:27:03