前言
本文用于简洁的指导部署基于python的shiny server,与基于R的部署方式类似但是有些许地方需要注意,部分内容机翻自自托管部署 – Shiny for Python,本文内容主要用于我本人检索自查。
相关软件包安装
我测试使用的版本为Ubuntu22.04LTS
(大小: 110.66 MB | SHA-256:4a3d063a | 版本: 1.5.23.1030 | 发布日期:2024 年 10 月 1 日):
sudo apt-get install gdebi-core
wget https://download3.rstudio.org/ubuntu-20.04/x86_64/shiny-server-1.5.23.1030-amd64.deb
sudo gdebi shiny-server-1.5.23.1030-amd64.deb
安装完成后测试
完成安装后shinyserver默认启动,http://hostname:3838/ 上可以看到欢迎页面。
如果无法访问请检查防火墙放行端口情况
sudo ufw status
告诉 Shiny Server 如何找到 Python
Shiny Server 指向 Python 二进制文件或指向 virtualenv 的绝对路径,SSOS 将相对于 app.py 查找该目录(即在指定目录下运行app.py程序,前提你的python程序使用了shiny包且可以正常运行)。
置入应用程序文件
欢迎页面的文件路径为/srv/shiny-server/
如果你只托管一个应用程序,你可以将 (和应用程序的其余文件) 直接放在/srv/shiny-server/中,它会在 http://hostname:3838/ 执行。
如果有多个应用程序,请将每个应用程序复制到一个子目录中如/srv/shiny-server/子目录文件夹/
完成程序文件置入后可以在网页:
http://hostname:3838/子目录文件夹
中执行访问
在这种情况下,您可以将静态资源放入根目录,就像文件一样
更多详细的配置
/etc/shiny-server/shiny-server.conf
配置文件目录位置,可以用于修改访问端口或者控制访问等其他东西,shinyserver的使用方法不在此文赘述