个人应用程序的闪亮服务器配置
Posted
技术标签:
【中文标题】个人应用程序的闪亮服务器配置【英文标题】:Shiny Server configuration for personal apps 【发布时间】:2021-11-13 09:57:40 【问题描述】:我对闪亮服务器配置比较陌生。目前有一堆应用程序托管在根级别的闪亮服务器上,可以通过http://<ip.address>:3838/appName
访问。我希望允许服务帐户能够部署应用程序并能够检查日志文件。服务帐户没有也不会拥有 sudo 访问权限。服务帐户已添加到名为 shinyUsers
的组中。在这样做的同时,我仍然希望确保当前在根级别部署的应用程序仍然可以运行,并且不会受到配置更改的影响。
通读配置指南,我了解了一些有关部署个人应用程序的信息。但是我不确定要为 site_dir
和 log_dir
键添加什么。
以下是我目前的配置文件:
run_as :HOME_USER: shiny;
# Define a server that listens on port 3838
server
listen 3838;
location /
user_dirs;
# Only allow members of the 'shinyUsers' group to host personal applications.
members_of shinyUsers;
# 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 off;
# Define a location at the base URL
location /
# Host the directory of Shiny Apps stored in this directory
site_dir /srv/shiny-server;
# Log all Shiny output to files in this directory
log_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;
【问题讨论】:
您是否尝试添加location /path/to/app
部分,其中包含您设置 log_dir 路径的应用程序路径?
嗨。我还没有为 log_dir 设置任何东西,因为我不知道该放什么。我不知道我需要做什么。该应用程序将位于服务帐户的/home/ShinyApps/appName/
目录中
把它放在服务帐户可以读取的目录中。
【参考方案1】:
以下配置仍将保持根应用程序运行(尽管 url 稍作更改),并且还提供对服务帐户的访问以能够托管应用程序。应用程序需要位于名为ShinyApps
的目录中,并且日志文件将自动进入ShinyApps
内的log
子目录
根级应用程序将位于 url:http://myserver/appName
,服务帐户应用程序将位于 url:http://myserver/serviceAccountName/appName
。这是因为我在下面的配置中包含了服务器名称myserver
(在此处使用实际的服务器名称)。
run_as :HOME_USER: shiny;
http_keepalive_timeout 50000;
# Define a server that listens on port 80
server
listen 80;
#replace ip address with name of the server
server_name: myserver;
location /
user_dirs;
# Only allow members of the 'shinyUsers' group to host personal applications.
# I use a centos7 server so sudo usermod -a -G shinyUsers username
members_of shinyUsers;
# Define a location at the base URL
location /
# Host the directory of Shiny Apps stored in this directory
site_dir /srv/shiny-server;
# Log all Shiny output to files in this directory
log_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 off;
【讨论】:
以上是关于个人应用程序的闪亮服务器配置的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 NGINX 将多个闪亮的应用程序部署到一台服务器?